笔试面试那件小事(数据库知识)
1关系数据库规范化是为了解决关系数据库中(插入异常、删除异常和数据冗余)问题而引入。 2在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段过程中,其中(数据库系统阶段)的数据独立性最高。 3数据库(DB)、
1>关系数据库规范化是为了解决关系数据库中(插入异常、删除异常和数据冗余)问题而引入。
2>在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段过程中,其中(数据库系统阶段)的数据独立性最高。
3>数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系(DBS包括DB和DBMS)
4>数据库管理系统能实现对数据库中数据表、索引等对象的定义、修改、删除,这类语言称为(数据库定义语言(DDL))
5>同一关系模型的任意两个元组值(不能全相同)
6>概念模型是(用于信息世界的建模,与具体的DBMS无关)
7>物理数据独立性是指(内模式改变,模式不变)
8>SQL语言是(关系数据库语言)
9>自然连接是构成新关系的有效方法,一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或者多个共同的(属性)
10>关系运算中花费时间可能最长的运算是(笛卡尔积)
11>文件系统与数据库系统最大区别是(数据结构化)
12>用于事务回滚的SQL语句(ROLLBACK)
13>(日志文件)用来记录对数据库中数据进行的每一次更新操作
14>并发操作会带来哪些的数据不一致(丢失修改,不可重复读,读脏数据)
15>为了提高效率,关系数据库必须进行(查询)优化处理
16>对数据库物理存储方式的描述(内模式)
17>在数据库三级模式之间引入二级映像的主要作用是(提高数据与程序的独立性)
18>视图是一个虚表,视图的构造基于(基本表或视图)
19>关系代数中投影运算对应的是SQL语句中的(SELECT)
20>将E-R模式转换成关系模型,属于数据库的(逻辑设计)
21>事务日志的主要用途(事务处理)
22>如果事务T已经在数据R上加了X锁,则其他事务在数据R上(吧可以加任何锁)
&&说明视图和基本表的区别和联系。
视图是从一个或者几个基本表导出,它与基本表不同,它是一个虚表,数据库中只存放视图的定义而不存放视图对应的数据。这些数据存放在原来的基本表中,当基本表的数据发生变化,从视图中查询出的数据也随之变化。视图
一经过定义就可以像基本表一样被查询、删除,也可以在视图之上定义新的视图。但对视图的更新操作有一定的限制。
&&简述事务的特性
事务具有四个特性:
原子性:一个事务要么做,要么什么都不做
一致性:事务对数据库的修改必须是从一个一致状态转到另一个一致状态
隔离性:一个事务的内部操作以及使用数据对其他事务是隔离的
持续性:事务一旦提交,对数据库的影响是持久的
&&简述关系模型中的参照完整性
参照完整性规则:若属性F是基本表关系S的外码,它与基本表关系R的主码Ks对应。要求属性F的取值必须与关系R中的某元组的主码对应,或者为NULL
&&现有关系数据库如下:
学生(学号,姓名,性别,专业)
课程(课程号,课程名,学分)
学习(学号,课程号,分数)
分别用关系代数表达式和SQL语句完成下列要求:
(投影用T代表,选择用S代表,连接用L表示)
1,检索所有选修了课程号为“C112”课程的学生的学号和分数
SELECT 学号,分数 FROM 学习 WHERE 课程号=‘C112’
关系代数:T(S(学习))
2,检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数
SELECT 学生.学号,姓名,课程名,分数
FROM 学生,学习,课程
WHERE 学习.学号=学生.学号 AND 学习.课程号=课程.课程号 AND 专业=‘英语’
关系代数:T(S(L(学生,学习,课程)))
3,检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数
SELECT 学生.学号,姓名,专业,分数
FROM 学生,学习,课程
WHERE 学生.学号=学习.学号 AND 学习.课程号=课程。课程号 AND 分数>90 AND 课程名='数据库原理'
代数关系:
类似与上题
4,检索没学课程号为"C135"课程的学生信息,包括学号,姓名和专业
SELECT 学号,姓名,专业
FROM 学生
WHERE 学号 NOT IN (SELECT 学号 FROM 学习 WHERE 课程号=‘C135’)
5,检索至少学过课程号为"C135"和“C100”的课程的学生信息,包括学号、姓名和专业
SELECT 学号,姓名,专业
FROM 学生
WHERE 学号 IN(SELECT X1.学号 FROM 学习X1,学习 X2 WHERE X1.学号=X2.学号 AND X1.课程号=‘C135’ AND X2.课程号=‘C100’)
&&设有一个教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D),这些数据的大概意思如下:
1,一个学生所修的每门课程都有一个成绩
2,每门课程只有一位任课教师,但每个教师可以教多门课程
3,教师中没有重名,每个教师只属于一个系
问题:
根据上述的语义确定函数依赖集
如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明
将其分解为具有依赖保持的3NF
解答:
(1)F={(S#,C#)->G,C#->TN,TN->D}
(2)该关系模式只满足1NF,(即所有的属性为原子属性)
该关系模式中的候选关键字为(S# ,C#) 和非主属性G 、TN 、D
因为存在非主属性TN部分依赖与主属性,不满足2NF的要求
存在插入异常:例如某个学生还未选课,则无法加入数据库
(3)R1={S#,C#,G} R2={C#,TN} R3={TN,D}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go 言語は、効率的かつ簡潔で習得が容易なプログラミング言語であり、同時プログラミングやネットワーク プログラミングに優れているため、開発者に好まれています。実際の開発ではデータベースの操作が欠かせませんが、今回はGo言語を使ってデータベースの追加・削除・変更・クエリ操作を実装する方法を紹介します。 Go 言語では、データベースを操作するために通常、よく使用される SQL パッケージや gorm などのサードパーティ ライブラリを使用します。ここでは SQL パッケージを例として、データベースの追加、削除、変更、クエリ操作を実装する方法を紹介します。 MySQL データベースを使用していると仮定します。

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

Hibernate ポリモーフィック マッピングは、継承されたクラスをデータベースにマップでき、次のマッピング タイプを提供します。 join-subclass: 親クラスのすべての列を含む、サブクラス用の別個のテーブルを作成します。 table-per-class: サブクラス固有の列のみを含む、サブクラス用の別個のテーブルを作成します。 Union-subclass: join-subclass と似ていますが、親クラス テーブルがすべてのサブクラス列を結合します。

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

Go フレームワークは、Go の組み込みライブラリを拡張するコンポーネントのセットで、事前に構築された機能 (Web 開発やデータベース操作など) を提供します。人気のある Go フレームワークには、Gin (Web 開発)、GORM (データベース操作)、RESTful (API 管理) などがあります。ミドルウェアは、HTTP リクエスト処理チェーンのインターセプター パターンであり、ハンドラーを変更せずに認証やリクエストのログ記録などの機能を追加するために使用されます。セッション管理は、ユーザー データを保存することでセッションの状態を維持します。ゴリラ/セッションを使用してセッションを管理できます。

HTML はデータベースを直接読み取ることはできませんが、JavaScript と AJAX を通じて実現できます。この手順には、データベース接続の確立、クエリの送信、応答の処理、ページの更新が含まれます。この記事では、JavaScript、AJAX、および PHP を使用して MySQL データベースからデータを読み取る実践的な例を示し、クエリ結果を HTML ページに動的に表示する方法を示します。この例では、XMLHttpRequest を使用してデータベース接続を確立し、クエリを送信して応答を処理することで、ページ要素にデータを埋め込み、データベースを読み取る HTML の機能を実現します。

MySQL データベース管理システムの基本原理の分析 MySQL は、データの保存と管理に構造化照会言語 (SQL) を使用する、一般的に使用されるリレーショナル データベース管理システムです。この記事では、データベースの作成、データ テーブルの設計、データの追加、削除、変更などの操作を含む、MySQL データベース管理システムの基本原理を紹介し、具体的なコード例を示します。 1. データベースの作成 MySQL では、まずデータを保存するデータベース インスタンスを作成する必要があります。次のコードは、「my」という名前のファイルを作成できます。

PHP は Web サイト開発で広く使用されているバックエンド プログラミング言語であり、強力なデータベース操作機能を備えており、MySQL などのデータベースとの対話によく使用されます。ただし、中国語の文字エンコーディングは複雑であるため、データベース内で中国語の文字化けを処理するときに問題が発生することがよくあります。この記事では、文字化けの一般的な原因、解決策、具体的なコード例を含め、データベース内の中国語の文字化けを処理するための PHP のスキルと実践方法を紹介します。文字化けの一般的な原因は、データベースの文字セット設定が正しくないことです。データベースの作成時に、utf8 や u などの正しい文字セットを選択する必要があります。
