笔试面试那件小事(数据库知识)

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<课程号=‘C112’>(学习))

 

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}

 

笔试面试那件小事(数据库知识)

上一篇:Spring : 征服数据库 (四)


下一篇:mongodb后台运行