1、 数据库原理-期末考试复习题一一、单项选择题(本大题共 20 小题,每小题 2 分,共 40 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1. 数据库系统的核心是( B )A数据 库 B数据库管理系统C数据模型 D软件工具2. 下列四项中,不属于数据库系统的特点的是( C )A数据 结构化 B数据由 DBMS 统一管理和控制 C数据冗余度大 D数据独立性高3. 概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是( D ) A层次模型 B关系模型C网状模型 D实体-联系模型4. 数据的物理独立性是指( C )A数据 库与数
2、据 库管理系 统相互独立B用户程序与数据库管理系 统相互独立C用户的应用程序与存储 在磁盘上数据库中的数据是相互独立的D应用程序与数据库中数据的 逻辑结构是相互独立的5 要保证数据库的逻辑数据独立性,需要修改的是( A )A模式与外模式之间的映象 B模式与内模式之间的映象C模式 D三级模式6 关系数据模型的基本数据结构是( D )A树 B图 C索引 D关系7 有一名为“ 列车运营” 实 体,含有:车次、日期、实际发车时间 、实际抵达时间、情况摘要等属性,该实体主码是( C )A车次 B日期C车次+日期 D车次+情况摘要8. 己知关系 R 和 S,RS 等价于( B )A. (R-S)-S B.
3、 S-(S-R) C. (S-R)-R D. S-(R-S)9 学校数据库中有学生和宿舍两个关系:学生(学号,姓名)和 宿舍(楼名,房 间号,床位号,学号)假设有的学生不住宿,床位也可能空闲。如果要列出所有学生住宿和宿舍分配的情况,包括没有住宿的学生和空闲的床位,则应执行( A )A. 全外联接 B. 左外联接C. 右外 联接 D. 自然联接10用下面的 T-SQL 语句建立一个基本表:CREATE TABLE Student(Sno CHAR(4) PRIMARY KEY,Sname CHAR(8) NOT NULL,Sex CHAR(2),Age INT)可以插入到表中的元组是( D )A
4、. 5021,刘祥 ,男, 21 B. NULL,刘祥,NULL,21C. 5021,NULL,男, 21 D. 5021,刘祥,NULL, NULL11. 把对关系 SPJ 的属性 QTY 的修改权授予用户李勇的 T-SQL 语句是( C )A. GRANT QTY ON SPJ TO 李勇B. GRANT UPDATE(QTY) ON SPJ TO 李勇C. GRANT UPDATE (QTY) ON SPJ TO 李勇D. GRANT UPDATE ON SPJ (QTY) TO 李勇12. 图 1 中( B )是最小关系系统A B C D图 1 13关系规范化中的插入操作异常是指 (
5、D ) A不 该删 除的数据被 删除 B不 该插入的数据被插入C应该删除的数据未被 删除 D应该插入的数据未被插入14在关系数据库设计中,设计关系模式是数据库设计中( A )阶段的任务A 逻辑设计 B物理设计 C需求分析 D概念设计 15在 E-R 模型中,如果有 3 个不同的实体型,3 个 m:n 联系,根据 E-R 模型转换为关系模型的规则,转换后关系的数目为( C )。A4 B5 C6 D716事务的隔离性是指( A )。A一个事务内部的操作及使用的数据 对并发的其他事务是隔离的B事务一旦提交,对数据库的改变是永久的C事务中包括的所有操作要么都做,要么都不做D事 务必 须是使数据 库从一
6、个一致性状态变到另一个一致性状态 17. 数据库恢复的基础是利用转储的冗余数据。这些转储的冗余数据是指( C )A. 数据字典、应用程序、审计档案、数据库后备副本B. 数据字典、应用程序、日志文件、 审计档案C. 日志文件、数据库后备 副本D. 数据字典、应用程序、数据库后备副本18若事务 T 对数据对象 A 加上 S 锁,则( B )。A事务 T 可以读 A 和修改 A,其它事 务只能再对 A 加 S 锁,而不能加 X 锁。B事务 T 可以读 A 但不能修改 A,其它事务只能再对 A 加 S 锁,而不能加 X 锁。C事务 T 可以读 A 但不能修改 A,其它事务能对 A 加 S 锁和 X 锁
7、。D事务 T 可以读 A 和修改 A,其它事 务能对 A 加 S 锁和 X 锁。 19. 设有两个事务 T1、T2,其并 发操作如图 2 所示,下面 评价正确的是( B )A. 该操作不存在问题 B. 该操作丢失修改C. 该操作不能重复读 D. 该操作读“脏”数据T1 T2 读 A=100 读 A=100A=A-5 写回 A=A-8 写回图 220. 以下( D )封锁违反两段锁协议。A. Slock A Slock B Xlock C Unlock A Unlock B Unlock CB. Slock A Slock B Xlock C Unlock C Unlock B Unlock A
8、C. Slock A Slock B Xlock C Unlock B Unlock C Unlock AD. Slock A Unlock A Slock B Xlock C .Unlock B Unlock C二、填空题(本大题共 9 小题,每空 1 分,共 10 分)请在每小题的空格中填上正确答案。错填、不填均无分。1. 关系数据模型由关系数据结构、关系操作和 关系完整性约束 三部分组成。2. 一般情况下,当对关系 R 和 S 使用自然连接时,要求 R 和 S 含有一个或多个共有的 属性 3. 在 Student 表的 Sname 列上建立一个唯一索引的 SQL 语句为:CREATE U
9、NIQUE INDEX Stusname ON student(Sname)4. SELECT 语句查询条件中的谓词“!=ALL”与运算符 NOT IN 等价5. 关系模式 R(A,B,C,D)中,存在函数依 赖关系AB ,AC ,AD, (B,C)A, 则侯选码是 A 和(B,C) ,R AB NF。6. 分 E-R 图 之间的冲突主要有属性冲突、 命名冲突 、结构冲突三种。7. 事物 是 DBMS 的基本单位,是用 户定 义的一个数据库操作序列。8. 存在一个等待事务集T 0,T1,Tn,其中 T0 正等待被 T1锁住的数据项,T 1 正等待被 T2锁住的数据项, Tn-1 正等待被 Tn
10、锁住的数据项 ,且 Tn 正等待被 T0锁住的数据项,这种情形称为 死锁 。9. 可串行性 是并发事务正确性的准则。三、简答题(第 1、3 题 3 分,第 2 题 4 分,共 10 分)1 试述关系模型的参照完整性规则?答:参照完整性规则:若属性(或属性组)F 是基本关系 R 的外码,它与基本关系 S 的主码 Ks 相对应(基本关系 R 和 S 不一定是不同的关系),则对于 R 中每个元组在 F 上的值必须为:取空值(F 的每个属性 值均为空值)或者等于 S 中某个元组的主码值。2 试述视图的作用?(1)视图能够简化用户的操作。 (1 分)(2)视图使用户能以多种角度看待同一数据。 (1 分)
11、 (3)视图对重构数据库提供了一定程度的逻辑独立性。 (1 分)(4)视图能够对机密数据提供安全保护。 (1 分)3. 登记日志文件时必须遵循什么原则?登记日志文件时必须遵循两条原则:(1)登记的次序严格按并发事务执行的时间次序。 (1 分)(2)必须先写日志文件,后写数据库。 (2 分)四、设计题( 第 1 题 4 分,第 2 题 6 分,第 3 题 3 分,第 4 题 4 分,第 5 题 8 分,共 25 分)1 设教学数据库中有三个基本表:学生表 S(SNO,SNAME,AGE,SEX),其属性分 别 表示学号、学生姓名、年 龄、性别。课程表 C(CNO,CNAME,TEACHER),其
12、属性分别表示课程号、课程名、上 课教师名。选修表SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。有如下 SQL 查询语句:SELECT CNOFROM C WHERE CNO NOT IN(SELECT CNO FROM S,SCWHERE S.SNO=SC.SNO AND SNAME=张三);请完成下列问题:(1)用汉语句子阐述上述 SQL 语句的含义;(2)用等价的关系代数表达式表示上述 SQL 查询语 句。解:(1)查询张三同学没有选修的课程的课程号。 (2 分)(2)CNO(C)- CNO (SNAME=张三 (S) SC) 或CNO(C)- CNO (SNAME
13、=张三 (S SC) (2 分)2. 设 有如 图 3 所示的三个关系。其中各个属性的含义如下:A (商店代号)、 ANAME(商店名)、WQTY(店员人数)、CITY(所在城市)、 B(商品号)、BNAME(商品名称)、PRICE(价格)、 QTY(商品数量)。A A# ANAME WQTY CITY101 韶山商店 15 长沙204 前门百货商店 89 北京256 东风商场 501 北京345 铁道商店 76 长沙620 第一百货公司 413 上海ABA B QTY101 1 105101 2 42101 3 25101 4 104204 3 61256 1 241256 2 91345
14、1 141345 2 18345 4 74620 4 125图 3试用 SQL 语言写出下列查询:(1)找出店员人数不超过 100 人或者在长沙市的所有商店的代号和商店名。(2)找出至少供应了代号为256的商店所供应的全部商品的其它商店的商店名和所在城市。解:(1)SELECT A#, ANAME FROM A WHERE WQTY=100 OR CITY=长沙; (2 分)(2)SELECT ANAME,CITY FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE EXISTSB BNAME PRICE1 毛笔 212 羽毛球 7843 收音机 13
15、254 书包 242(SELECT * FROM AB AB1 WHERE A#=256 AND B#=B.B#)AND NOT EXISTS(SELECT * FROM AB AB2 WHERE A#!=256 AND A#=A.A# AND B#=B.B#); (4 分)3. 设有职工基本表:EMP(ENO,ENAME, AGE,SEX,SALARY),其属性分别表示职工号、姓名、年龄、性别、工资。 为每个工资低于 1000 元的女职工加薪 200 元,试写出这个操作的 SQL 语句。UPDATE EMP SET SALARY=SALARY+200 WHERE SALARY1000 AND
16、 SEX=女;(3 分)4. 设某工厂数据库中有两个基本表:车间基本表:DEPT(DNO,DNAME, MGR_ENO),其属性分别表示车间编号、车间名和车间主任的职工号。职工基本表:ERP (ENO,ENAME,AGE,SEX,SALARY,DNO),其属性分别表示职工号、姓名、年龄、性别、工 资和所在车间的编号。建立一个有关女车间主任的职工号和姓名的视图,其结构如下:VIEW6(ENO,ENAME)。试写出创建该视图 VIEW6 的 SQL 语句。参考答案 1:CREATE VIEW VIEW6ASSELECT ENO, ENAME FROM EMPWHERE SEX=女 AND ENO
17、IN (SELECT MGR_ENO FROM DEPT) 参考答案 2:CREATE VIEW VIEW6ASSELECT ENO, ENAME FROM DEPT, EMP WHERE MGR_ENO=ENO AND SEX=女 (4 分)5. 设有关系 R 和函数依赖 F: R(A,B,C,D,E),F = ABCDE,BCD, DE 。试求下列问题:(1)关系 R 的侯选码是什么?R 属于第几范式?并说明理由。 (3 分)(2)如果关系 R 不属于 BCNF,请将关系 R 逐步分解为 BCNF。(5 分)要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。(1)关系 R
18、的候选码是(A, B,C),R1NF,因为 R 中存在非主属性 D,E 对候选码(A,B,C)的部分函数依赖。 (3 分)(2)首先消除部分函数依赖将关系分解为:R1(A,B,C) (A,B,C)为候选码,R1 中不存在非平凡的函数依赖R2(B,C,D,E),(B,C)为候选码,R2 的函数依赖集为:F2=(B,C )D,DE在关系 R2 中存在非主属性 E 对候选码(B, C)的传递函数依赖,所以将 R2 进一步分解:R21(B,C,D) ,(B,C)为候选码,R21 的函数依赖集为:F21 = (B,C)D R22(D,E) ,D 为候选码,R22 的函数依赖集为:F22 = DE 在 R
19、1 中已不存在非平凡的函数依赖,在 R21、R22 关系模式中函数依赖的决定因素均为候选码,所以上述三个关系模式均是 BCNF。五、综合题(15 分)某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、 规格,职工的属性有职工号、姓名。(1)根据上述语义画出 E-R 图;(5 分)(2)将该 E-R 模型转换为关系模型;(5 分)(要求:1:1 和 1:n 的联系进行合并)(3)指出转换结果中每个关系模式的主码和外码。 (5 分)(1)本题的 E-R 图如下图所示。(2)转化后的关系模式如下:规格n1m n工厂生产 产品聘用职工职工号 姓名工资计划数量产品编号 产品名工产编号 厂名聘期地址