数据库原理及应用-期末考试试题及答案 下载本文

内容发布更新时间 : 2024/5/5 9:28:29星期一 下面是文章的全部内容请认真阅读。

一、单项选择题(本大题共10小题,每小题2分,共20分) 1. DB、DBMS和DBS三者之间的关系是( B )。

A.DB包括DBMS和DBS B.DBS包括DB和DBMS C.DBMS包括DB和DBS D.不能相互包括 2. 对数据库物理存储方式的描述称为( B )

A.外模式 B.内模式 C.概念模式 D.逻辑模式

3. 在数据库三级模式间引入二级映象的主要作用是( A )

A.提高数据与程序的独立性 B.提高数据与程序的安全性 C.保持数据与程序的一致性 D.提高数据与程序的可移植性 4. 视图是一个“虚表”,视图的构造基于( C )

A.基本表 B.视图 C.基本表或视图 D.数据字典

5. 关系代数中的π运算符对应SELECT语句中的以下哪个子句?( A )

A.SELECT B.FROM C.WHERE D.GROUP BY 6. 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,

从职员到部门的联系类型是( C ) A.多对多 B.一对一 C.多对一 D.一对多 7. 如何构造出一个合适的数据逻辑结构是( C )主要解决的问题。 A.关系系统查询优化 B.数据字典 C.关系数据库规范化理论 D.关系数据库查询 8. 将E-R模型转换成关系模型,属于数据库的( C )。 A. 需求分析 B. 概念设计

C. 逻辑设计 D. 物理设计 9. 事务日志的用途是( C )

A. 事务处理 B. 完整性约束 C. 数据恢复 D. 安全性控制

10.如果事务T已在数据R上加了X锁,则其他事务在数据R上( D )

A. 只可加X锁 B. 只可加S锁 C. 可加S锁或X锁 D. 不能加任何锁

二、填空题(本大题共10小题,每小题2分,共20分)

1. 数据库的逻辑数据独立性是由 外模式/模式

2. 关系代数中专门的关系运算包括:选择、投影、连接和____除 _____。

3. 设有学生表S(学号,姓名,班级)和学生选课表SC(学号,课程号,成绩),为维护数据

一致性,表S与SC之间应满足 参照 完整性约束。 4. 当数据库被破坏后,如果事先保存了数据库副本和 日志文件 ,就有可能恢复数据库。 5. 如果一个满足1NF关系的所有属性合起来组成一个关键字,则该关系最高满足的范式是 3NF (在1NF、2NF、3NF范围内)。 6. 设关系模式R(A,B,C,D),函数依赖集F={AB→C,D→B},则R的候选码为 AD 7. 从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据冗

余度大、插入异常、_ 修改异常___和删除异常。 8. 并发控制的主要方法是 封锁 机制。

9. 若有关系模式R(A,B,C)和S(C,D,E),SQL语句

SELECT A, D FROM R, S WHERE R.C=S.C AND E = '80' ; 对应的关系代数表达式是 πA,D(σE='80'(RS)) 。 10. 分E-R图之间的冲突主要有属性冲突、命名冲突、结构冲突三种。 三、简答题(本大题共4小题,每小题5分,共20分) 1. 说明视图与基本表的区别和联系。

答:视图是从一个或几个基本表导出的表,它与基本表不同,它是一个虚表,(2分)数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变(2分)。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制(1分)。 2. 简述事务的特性。

答:事务具有四个特性,即ACID特性:(1分) (1)原子性:事务中包括的所有操作要么都做,要么都不做。(1分) (2)一致性:事务必须使数据库从一个一致性状态变到另一个一致性状态。(1分) (3)隔离性:一个事务内部的操作及使用的数据对并发的其他事务是隔离的。

(1分)

(4)持续性:事务一旦提交,对数据库的改变是永久的。(1分) 3. 试述关系模型的参照完整性规则。

答:参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系)(2分),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)(1.5分)或者等于S中某个元组的主码值(1.5分)。

4. 简述系统故障时的数据库恢复策略。

答:正像扫描日志文件,找出在故障发生前已经提交的事务,将其事务标识记入REDO队列,同时找出故障发生时尚未完成的事务,将其事务标识记入UNDO队列(2分);对UNDO队列中的各个事务进行撤销处理(1.5分);对REDO队列中的各个事务进行重做处理。(1.5分)

四、设计题(本大题共5小题,每小题4分,共20分) 现有关系数据库如下:

学生(学号,姓名,性别,专业) 课程(课程号,课程名,学分) 学习(学号,课程号,分数)

分别用关系代数表达式和SQL语句实现下列1—5小题(注意:每小题都要分别写出关系代数表达式和SQL语句!!!每小题关系代数表达式2分,SQL语句2分): 1. 检索所有选修了课程号为“C112”的课程的学生的学号和分数;

SQL语句:

SELECT 学号,分数 FROM 学习 WHERE 课程号=?C112?

(SELECT 学号,分数 FROM 学习1分,WHERE 课程号=?C112?1分) 关系代数:

π学号,分数(?课程号=?C112?(学习))

(π学号,分数1分,?课程号=?C112?(学习)1分

2. 检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数;

SQL语句:

SELECT 学生.学号,姓名,课程名,分数

FROM 学生,学习,课程 (1分)

WHERE 学习.学号=学生.学号 AND 学习.课程号=课程.课程号 AND 专业=?

英语? (1分)

关系代数:

(π学号,姓名(?专业=?英语?(学生))学习π课程号,课程名(课程))

(π学号,姓名,课程名,分数1分,π学号,姓名(?专业=?英语?(学生))学习π课程号,课程名(课程)1

学号,姓名,课程名,分数

π

分)

3. 检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数;

SQL语句:

SELECT 学生.学号,姓名,专业,分数

FROM 学生,学习,课程 (1分)

WHERE 学生.学号=学习.学号 AND 学习.课程号=课程.课程号 AND分数>90

AND 课程名=?数据库原理? (1分)

关系代数:

(π学号,姓名,专业(学生)(?分数>90(学习))π课程号,课程名(? 课程名=?数

据库原理?(课程)))

(π学号,姓名,专业,分数1分,π学号,姓名,专业(学生)(?分数>90(学习))π课程号,课程名(?课程名=?数据库原理?(课程)) 1分

学号,姓名,专业,分数

π

4. 检索没学课程号为“C135”课程的学生信息,包括学号,姓名和专业;

SQL语句:

SELECT 学号,姓名,专业

FROM 学生

WHERE 学号 NOT IN (1分)

(SELECT 学号 FROM 学习 WHERE 课程号=?C135?) (1分)

关系代数:

(π学号(学生)-π学号(?课程号=?C135? (学习)))(π学号,姓名,专业(学生)

(π学号(学生)-1分,π学号(?课程号=?C135? (学习)))(π学号,姓名,专业(学生)1分

5. 检索至少学过课程号为“C135”和“C219”的课程的学生的信息,包括学号、姓名和专业。

SQL语句:

SELECT 学号,姓名,专业 FROM 学生 WHERE 学号 IN (1分) (SELECT X1.学号 FROM 学习 X1,学习 X2 WHERE X1.学号=X2.学号 AND X1.课程号=?C135?AND X2.课程号=?C219?)(1分) 关系代数:

(π学号,课程号(学习)÷π课程号(?课程号=?C135?∨课程号=?C219? (课程)))π学号,姓名,专业(学生) (π学号,课程号(学习)÷π课程号(?课程号=?C135?∨课程号=?C219? (课程))1分,π学号,姓名,

专业(学生)1分)

五、综合题

(本大题共2小题,每小题10分,共20分)

1. 现有如下关系模式:借阅(图书编号,书名,作者名,出版社,读者编号,读者姓名,

借阅日期,归还日期),基本函数依赖集F={图书编号→(书名,作者名,出版社),读