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