数据库复习题4 一、填空题(每空1分,共15分) 1. 数据库系统是指计算机系统中引入数据库后的系统,一般由数据库、得分 评阅人 数据库管理系统、应用系统、数据库管理员和用户构成。 2. 当数据库的存储结构发生了改变,由数据库管理员对 模式/内模 式 映象作相应改变,可以使 模式 保持不变,从而应用程序也可以不变,这样保证了数据的物理独立性。 3. 关系可以有三种类型,即基本关系(又称基本表或基表)、查询表和视图 。 4. 关系模型中的三类完整性约束,即 实体完整性 、 参照完整性和用户自定义完整性。 5. 某学生信息管理数据库中有学生关系Student,其对应的关系模式为Student(Sno, Sname,Ssex,Sage,Sdept,Senrolldate,Sspeciality),其中的属性分别表示:学号、姓名、性别、年龄、系别、入学日期和所学专业。假定用SQL语言来进行数据定义,请将下面的SQL语句空缺部分补充完整。 CREATE TABLE Student (Sno char (6) NOT NULL , Sname char(20) NULL , Ssex char(2) NULL , Sage int NULL Sdept char(30) NULL Senrolldate datetime NULL Sspeciality char(20) NULL Primary Key ( Sno ) ) 6. 查询处理是DBMS的核心,查询优化一般可分为代数优化和物理优化。 7. 在数据库设计的不同阶段结束后,可以得到不同的结果或文档资料,例如在需求分析阶段结束后,可以得到数据流图(DFD)和数据字典(DD),而在概念结构设计阶段结束后,可以得到实际问题在信息世界中的概念模型,在逻辑结构设计阶段结束后,可以得到实际的DBMS支持的数据的逻辑模型。 8. 在进行概念结构设计时,必须对现实世界中研究的对象进行数据抽象,一般常用的抽象方法有分类、聚集和 概括 三种。 9. 事务的原子性是指 事务中的操作要么全部执行,要么一个也不执行 。 10. 在数据库系统中,建立冗余数据最常用的技术是数据转储和登录日志文件。 1
二、单项选择题(1~15题每题1分,16~20题每题2分,共25分) 得分 评阅人 1、DB、DBMS和DBS三者间的关系是 B 。 A.DB包括DBMS和DBS B.DBS包括DB和DBMS C.DBMS包括DBS和DB D.DBS与DB和DBMS无关 2、世界上第一次提出了关系数据库的概念与数据库的关系模型的人是 D 。 A.Boyce和Chamberlin B.P.P.S.Chen C.M.M.Zloof D.E.F.codd 3、关系数据模型的三个组成部分中,不包括 C 。 A.完整性规则 B.数据结构 C.恢复 D.数据操作 4、设关系R和S的属性个数分别为2和3,那么RS等价于 B 。 1≤2 A. C. 12(RS) B. 14(RS) 12(RS) D. 14(RS) 5、有关系R和S,R-S的运算等价于 B 。 A.R-(R∪S) B.R-(R∩S) C.((R∪S)-R) D.((R∩S)-R) 6、设关系R和S的元组个数分别为400和400,关系T=R×S,则T的元组个数是 D 。 A. 0 B. 400 C.800 D.160000 7、向学生表ST中增加一个新列:出生日期(RQ),其类型为日期型。实现该功能的正确SQL语句是 D 。 A. APPEND TABLE RQ DATE ADD ST B. APPEND TABLE RQ DATE ADD ST NOT NULL C. ALTER TABLE ST ADD RQ SMALLINT D. ALTER TABLE ST ADD RQ DATETIME 8、在学生表STUD中查询所有小于20岁的学生姓名(XM)及其年龄(SA)。实现该功能的正确SQL语句是 B 。 A. SELECT XM, SA FROM STUD FOR SA<20 B. SELECT XM, SA FROM STUD WHERE NOT SA>=20 C. SELECT XM, SA ON STUD FOR SA<20 D. SELECT XM, SA ON STUD WHERE SA<20 9、用如下的SQL语句创建了一个表S: CREATE TABLE S(S# CHAR(6) NOT NULL,SNAME CHAR(8) NOT NULL,SEX CHAR(2),AGE INTEGER),现在向S表插入如下行时, B 可以被插入。 A. (‘991001’,‘李明芳’,女,‘23’) B. (‘990746’,“张为’,NULL,NULL)C. (NULL,‘陈道一’,‘男’,32) D. (‘992345’,NULL,‘女’,25) 10、SQL语言的GRANT和REVOKE语句主要用来维护数据库的 A 。 A. 安全性 B. 完整性 C. 可靠性 D. 一致性 11、关系模式中,各级范式之间的关系为 A 。 A. BCNF3NF2NF1NF B. 3NF1NF 2NFBCNF C. 2NF3NFBCNF1NF D. 1NF BCNF2NF3NF 12、在关系模式R(A,B,C,D,E)中,有函数依赖集F={A→BC,CD→E,B→D,E→A },则(BC)F为 D 。 A. {BC} B. {BCD} C {BCDE} D {ABCDE} 2
13、若两个实体之间的联系是m:n,则实现m:n联系的方法是 C 。 A. 将“m”端实体转换关系的码加入到“n”端的关系中 B. 在“m”端实体转换的关系中加入“n”端实体转换关系的码 C. 将m:n联系转换为一个新的关系,该关系的码为各实体码的组合 D. 在两个实体转换的关系中,分别加入另一个关系的码 14、一个事务执行过程中,其正在访问的数据被其他事务所修改,导致处理结果不正确,这是由于违背了事务的 C 而引起的。 A.原子性 B.一致性 C.隔离性 D.持久性 15、下列那种方法不是数据库的安全性控制方法 C 。 A. 设置用户口令 B. 视图机制 C. 判断输入的原始数据是否正确 D. 设置用户存取权限 (注:以下每小题2分) 16、有两个关系R和S,分别包含20个和10个元组,则在R∪S,R-S,R∩S中不可能出现的元组数目情况是 C 。 A. 20,10,10 B. 24,14,6 C. 24,12,8 D. 30,20,0 17、设关系R如下表所示,则元素b2的象集为 D 。 A. {(a1, c3),( a2, c3),( a3, c3)} B. {(a1, c1),( a2, c2),( a3, c3)} C. {(a1, c2),( a2, c7),( a3, c6)} D. {( a1, c1), (a1, c3), ( a2, c3)} 18、对于由Select—From—Where—Group—Order组成的SQL语句,其在被DBMS处理时,各子句的执行次序为 D 。 A. Select—From—Group—Where—Order B. Select—From—Where—Group—Order C. From—Select—Where—Group—Order D. From—Where—Group—Select—Order 19、如果条件F形为F1∧F2,F1仅涉及到E1中的属性,F2仅涉及到E2中的属性,则下列等价式中不能成立的是 C 。 A.F(E1E2)F1(E1)F2(E2) B. F(E1E2)F1(F1(E1)F2(E2)) C.F(E1E2)F2(E1)F1(E2) D. F(E1E2)F2(F1(E1)F2(E2)) 20、设有两个事物T1和T2,他们的并发操作如下图所示。对于这个并发操作,正确的评价是 A 。 A. 该操作丢失了修改 B. 该操作不存在问题 C. 该操作读“脏”数据 D. 该操作不能重复读 ② ③X←X+10写回X ④ T1 ①读X=48 读X=48 X←X-2写回X T2 3
三、应用题(3题,共45分) 得分 评阅人 1、(28分) 设某“图书读者数据库”的三个关系模式如下: 图书Book:书号(Bno)、类别(Bclass)、出版社(Bpublisher)、作者(Bauthor)、书名(Bname)、定价(Bprice)、数量(Bqty)、购买日期(Bbuydate)、备注(Bremark); 读者Reader:编号(Rno)、姓名(Rname)、单位(Runit)、性别(Rsex)、电话(Rtel) 借阅Borrow:书号(Bno)、读者编号(Rno)、借阅日期(Borrowdate)、还书日期(Returndate) (1)(4分)写出查询请求“被数据库中所有读者借阅过的图书书号和书名”所对应的关系代数表达式; (2)(9分)写出查询请求“没有借阅过‘计算机’类图书的所有读者号和读者名”所对应的关系代数表达式及优化后的关系代数语法树; (3)(15分)用SQL语句完成下列操作 ① 查询所有‘计算机’类图书的书号、书名、出版社、作者和定价; ② 查询借阅过‘计算机’类图书的的读者号、姓名及单位; ③ 查询没有借阅过任何图书的读者号、姓名和单位; ④ 求“机械工业出版社”出版的各类图书的平均定价; ⑤ 新增一个读者,信息为(“R0468”,“张萍”,“外语学院”,“女”,“7874357”); 解: )Rno(Reader))Bno,Bname(Book) (1)(Bno,Rno(Borrow)BorrowReader) (2)Rno,Rname(Reader)Rno,Rname(Bclass'计算机'(Book (3)(每小题3分) 结果 ① Select Bno,Bname,Bpublisher,Bauthor,Bprice From Book - Where Bclass=’计算机’ ② Select Rno,Rname,Runit πRno,Rname πRno,Rname From Reader Where Rno in σReader.Rno=Borrow.Rno Reader (Select distinct Rno From Borrow × Where Bno in (select Bno From Book σBook.Bno=Borrow.Bno Reader Where Bclass=’计算机’)) ③ Select Rno,Rname,Runit × From Reader σBclass=’计算机’ Where Rno not in (Select distinct Rno Borrow From Borrow) Book ④ Select Bclass,Avg(Bprice) From Book Where Bpublisher=’ 机械工业出版社’ Group by Bclass ⑤ Insert into Reader Values(“R0468”,“张萍”,“外语学院”,“女”,“7874357”) 4
2、(7分)设有如下关系R: 任课教师 课程编号 课程名称 教材作者 学生人数 T1 C1 计算机网络 汤子瀛 58 T1 C2 数据库 王珊 82 T2 C3 操作系统 汤子瀛 50 T2 C1 计算机网络 汤子瀛 50 T3 C1 计算机网络 汤子瀛 58 请问R最高为第几范式?为什么?R是否存在插入及删除异常,如果存在,从函数依赖的概念来看,存在的原因是什么。 答:关系R中的码为(任课教师,课程编号),根据给出的数据可以看出,存在函数依赖“课程编号→课程名称”,且课程名称属性为非主属性,存在非主属性部分函数依赖于码的情况,所以R为1NF。 R存在插入异常和删除异常。主要是因为存在部分函数依赖和传递函数依赖。 3、(10分)设有两个事务: T1: Read(A); T2: Read(B); Read(B); Read(A); If A=0 then B=B+1; If B=0 then A=A+1; Write (B); Write (A); 给定初始值A=B=0,试给出一种这两个事务的并发执行的可串行化调度,并说明并发事务操作是否正确的基本准则是什么? 解:(10分)下面是其中可能的一种并发操作,而且是一种可串行化的调度 T1 Slock A Y=A=0 Unlock A Xlock B X=B=0 B=X+1=1 写回B=1 Unlock B T2 Slock B 等待 等待 Y=B=1 Unlock B Xlock A A=0 (因为Y<>0,所以A=0) 写回A=0 Unlock A (2分)并发事务操作是否正确的基本准则是并发执行是否可串行化。 5
四、设计题(共15分) 评阅人 1、某一研究所要对科研项目进行计算机管理,该研究所有若干科研人员,每个人员有职工号、姓名、性别、出生年月、专业和研究方向等,每个科研项目有研究项目编号、项目名称、起始时间和完成时间、项目经费额、经费来源、项目负责人、参加项目研究人员、每个人员所承担的任务等信息。该研究所规定:一个科研项目可以有多名研究人员参加,一个研究人员也可以参加多个研究项目。 (1)(9分)请画出此管理系统的概念模型(用E—R图表示); (2)(6分)将上述E—R图转换成为关系模式。 解: (1)该管理系统的概念模型如下图所示 完成时间 起始时间 负责人 职工号 职工姓名 项目名称 科研项目 m 参加 n 职工 性别 项目编号 经费额 经费来源 工作任务 出生年月 专业 研究方向 (2)根据E—R图向关系模型的转换规则,可以得到如下关系模式: 科研项目(项目编号,项目名称,起始时间和完成时间,项目经费额,经费来源,项目负责人) 职工(职工号,姓名,性别,出生年月,专业,研究方向) 参加(职工号,项目编号,工作任务)
6
因篇幅问题不能全部显示,请点此查看更多更全内容