数据库系统教程(第三版)总复习练习和习题(完整版) 下载本文

4.(10分)设有如图的关系R 职工号 E1 E2 E3 E4 职工名 ZHAO QIAN SEN LI 年龄 20 25 38 25 性别 F M M F 单位号 D3 D1 D3 D3 单位名 CCC AAA CCC CCC 试问关系R属于第几范式?说明原因。

5.(12分)设教学数据库有三个关系:学生关系:S(S#,SNAME,AGE,SEX);

选课关系:SC(S#,C#,GRADE);课程关系:C(C#,CNAME,TEACHER)。数据库上的一个查询为“检索选修了张红老师讲授的课程并且成绩高于90分的女同学名字”。

(1)写出该查询初始关系代数表达式。

(2)画出初始关系代数表达式对应的查询树。

(3)使用启发式代数优化规则对该查询进行优化,画出优化的过程和最后结果。

数据库系统原理试题三(A卷)

一、选择题(每小题1分,共10分)

1.自然连接是构造新关系的方法。一般情况下,对关系R和S使用自然连接

时,要求R和S含有一个或多个共有的。 A. 元组; B. 行; C. 记录; D. 属性。 2. 数据库的是指数据的正确性、有效性和相容性。

A. 安全性; B. 完整性; C. 并发控制; D. 恢复。

3. 如果事务T获得了数据项Q上的排它锁,则T对Q 。

A. 只能读不能写 B. 只能写不能读 C. 既可读又可写 D. 不能读不能写

4. 在SQL的SELECT语句中,实现选择操作的是哪个子句?

A SELECT B FROM C WHERE D ORDER BY

5. ODBC体系结构中,向数据源提交用户请求执行的SQL语句。 A.ODBC数据库应用程序 B.驱动程序管理器 C.DB驱动程序 D.数据源

6. 在数据库的三级体系结构中,外模式/逻辑模式映象可以保证数据结构和

应用程序之间的。

A.逻辑独立性 B.物理独立性 C.数据一致性 D.数据安全性 7. 如果两个关系没有公共属性,那么其自然连接操作。

A.转化为笛卡尔积操作 B.转化为半连接操作

C.转化为外部并操作 D.结果为空关系 8. SQL中,谓词可用来测试一个集合是否有重复元组。

A.UNIQUE B.DISTINCT C.EXISTS D.ONLY

9. “日志”文件用于保存。

A.程序运行过程 B.数据操作

C.程序执行结果 D.对数据库的更新操作

10. 视图”是DBS采用的。

A.完整性措施 B.安全性措施 C.恢复措施 D.并发控制措施

二、填空题(每空1分,共10分)

1.假设2个事务同时存取同一个数据库,当第一个事务结束之前,第2个事务更新数据库,这就违反了事务的_______,破坏了DB的一致性。

2. DB并发操作通常会带来三类问题,它们是 。

一个关系模式为Y(X1,X2,X3,X4),假定该关系存在着如下函数

依赖:X1→X2,X1→X3,X3→X4,则该关系属于范式,因为它存在着。 3. 解决关系模式中数据冗余问题的主要方法是。 4. 恢复的基本原则是。

5. 在XML文档中,属性一律放在。

6. 一个简单的XSLT模板包含和两个部分。

7.“为哪些表,在哪些字段上,建立什么样的索引”,这一设计内容应该属

于数据库设计中的_______设计阶段。

8.ER模型中包含实体、______和实体之间的联系三种基本成分。

三、简答题(每小题4分,共20分) 1. DBMS的主要功能有哪5个方面?

2. 数据库并发控制中的“活锁”现象和“死锁”现象是如何产生的? 3. 简述模式分解的优缺点。

4. JDBC的总体结构由哪4部分组成?

5. 什么是实体完整性?什么是关联完整性?

四、综合题 (共60分)

1.(10分) 设有关系模式STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE) S#,CNAME组成候选键,函数依赖集合为

F={

S#, CNAME?SNAME, SDEPT, MNAME S#?SNAME, SDEPT, MNAME S#, CNAME?GRADE SDEPT?MNAME }

试问:

(1) 关系模式STUDENT属于第几范式?给出理由。

(2) 如果STUDENT不属于BCNF,试给出分解为BCNF的过程

2.(15分)设有关系S(S#,SNAME,AGE,SEX)、SC(S#,C#,SCORE)、

C(C#,CNAME,TEACHER),试用关系代数和SQL完成如下操作 (1) 用关系代数表达检索选修了“程军”老师所授课程之一的学生姓名。 (2) 用关系代数表达至少选修了S2和S4课程的学生的学号和姓名。 (3) 用SQL表达找出“程序设计”课程成绩在90分以上的学生。

3. (10分)设某旅行社数据库中有两个实体集。一是“导游”实体集,属

性有导游编号、姓名、性别、语种等;二是“旅游班次”实体集,属性有班次号、旅游标准、报价等。导游与旅游班次存在“陪同”联系,每个导游可参与多个旅游班次的陪同,每个旅游班次可由多个导游陪同,某个导游参与某个旅游班次的陪同,有一个其负责的游客数量。 (1) 画出ER图,并在图上注明属性、联系类型、实体标识符; (2) 将ER图转换成关系模型,并说明主键和外键。

4. (10分)画出下图中事务调度的前驱图,由前驱图判断该调度是否具有冲突可串性并说明原因。若具有冲突可串性行,请写出与之等价的串行调度。 T0 T1 T2

READ(B) READ(A) B:=B-100 A:=A+50 WRITE(B) WRITE(A) READ(A) READ(B) C:=C+200 READ(C) WRITE(C)

5.(15分) 设教学数据库有三个关系:学生关系:S(S#,SNAME,AGE,SEX);

选课关系:SC(S#,C#,GRADE);课程关系:C(C#,CNAME,TEACHER)。

数据库上的一个查询为“检索男同学选修课程的课程名和任课教师名”。 (1)写出该查询的初始关系代数表式。

(2)画出初始关系代数表达式对应的查询树。

(3)使用启发式代数优化规则对该查询进行优化,画出优化的过程和最后结果。

数据库系统原理试题三(B卷)

一、选择题(每小题1分,共10分)

1.在数据库中,产生数据不一致的根本原因是_________。 A)数据存储量太大 B)没有严格数据保护 C)缺乏完整性控制 D)数据冗余

2. 在三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是_______。 A)外模式 B)存储模式 C)内模式 D)模式

3. 数据库三级模式结构有利于保持数据库的_________。

A)数据独立性 B)数据安全性 C)结构规范化 D)操作可行性

4. 在SQL的SELECT语句中,实现选择操作的是________子句?

A) SELECT B) FROM C )WHERE D) ORDER BY

5. 关系数据库系统能实现的专门关系运算包括__________。 A)排序、索引、统计 B)选择、投影、连接 C)关联、更新、排序 D)显示、打印、连接

6. 在关系代数的专门关系运算中,从表中选出满足条件的元组的操作称为_____。 A)除法 B)投影 C)选择 D)连接

7. 在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的________阶段。

A)逻辑设计 B)需求分析 C)物理设计 D)概念设计

8. 关系数据库中的关系模式至少是_______。

A)消除了异常操作 B)仍存在异常操作 C)一定属于 BCNF D)一定不属于 BCNF

9. E-R模型是数据库设计的有力工具,适于建立数据库的________。 A)1NF B)2NF C) 3NF D) 4NF

10. 关于“死锁”,下列说法中正确的是________。 A)死锁是操作系统中的问题,数据库系统中不存在 B)只有出现并发操作时,才有可能出现死锁

C)在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库 D)当两个用户竞争相同的资源时不会发生死锁

二、填空题(每空1分,共10分)

1.在关系数据模式分解中,若要保证不丢失信息,则分解应具有____________。 2. 按使用方式不同,数据操纵语言DML分为___________和___________两大类。

3. 已知关系R(A,B,C)中有8个元组,那么∏A,B(R)×∏A,C(R)中最多有_____个元组。

4. 为了在出现故障后能实现DB恢复,在平时应该做好________和________两件事。

5. 当多个事务在某个调度下的执行是正确的,是能保证数据一致性的,当且仅当该调度是_________。

6. 在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于_________。

7. SQL语句中的数据定义语言能够建立表、索引和________。

8. SQL语言的授权制中,用来实现为用户授予数据库上的操作权限的语句是_______。

三、简答题(每小题4分,共20分) 1. 基本表和视图有什么区别和联系。

2.解释什么是数据的独立性,数据库系统如何实现数据的独立性。

3.解释什么是事务,有什么特性?

4.设有关系模式R(A,B,C,D),F是R上成立的FD集。F={D→A,D→B}。试写出关系模式R的候选键,并说明理由。

5.假设一个DBS决不会发生故障,是否还需要有恢复管理机制?说出理由。

四、综合题 (共60分)

1. (20分)学生(学号,姓名,年龄,系名)

课程(课号,课名,学分)选课(学号,课号,成绩)

用 SQL语言完成下列操作

(1)查询选修三门以上课程的学生姓名。

(2)定义一个视图,由学号,姓名,课名,成绩四个属性组成 (3)删除所有选修 2号课的学生记录。

用关系代数表示下列查询

(4)列出选修所有课程的学生学号

(5)列出选修2号课的所有学生的学号,姓名,成绩。

2. (10分)涉及到学生、教师和课程的关系模式STC(SNo,SN,SA,TN,CN,G),其中6个属性分别为学生的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩。假设学生有重名,课程名也可能有重名。又假设每个教师只教一门课,但一门课可有几个教师开设。当某个学生选定某门课后,其上课教师就固定了。 (1)写出键码和函数依赖;

(2)分解关系模式使之属于BC范式。

3.(10分) 有关工厂生产产品的数据库,涉及如下数据: 工厂号、工厂名称、地址; 产品号、产品名称、成本;

某工厂生产某产品的数量和日期。 (1)设计E/R图; (2)转换成关系模型。

4.(12分) 设教学数据库的关系如下: S(S#,SNAME,AGE,SEX) SC(S#,C#,SCORE) C(C#,CNAME,T#)