华东交通大学2007—2008学年第二学期考试卷试卷编号:(A)卷数据系统原理及应用课程课程类别:必闭卷(√)、开卷(范围)():考试日期:题号一二三四五六七八九十总分累分人签名题分20105020100得分考生注意事项:1、本试卷共6页,总分100分,考试时间120分钟。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、单项选择题(每小题2分,共20分)1.在数据库系统中,存放三级结构定义的DB称为______。A.DBSB.DDC.DDLD.DBMS2.设有关系R(A,B,C)和关系S(B,C,D),那么与R⋈S等价的关系代数表达式是______。A.σ1=5(R⋈S)B.σ1=5(R×S)C.σ1=2(R⋈S)D.σ1=2(R×S)3.设有两个关系R(A,B)和S(B,C),与下列SELECT语句等价的关系代数表达式是______。SELECTA,BFROMRWHEREBNOTIN(SELECTBFROMSWHEREC=‘C56’);A.πA,B(σC≠‘C56’(R⋈S))B.πA,B((R⋈S))C.R-πA,B(σC=‘C56’(R⋈S))D.R-πA,B(σC≠‘C56’(R⋈S))4.设有关系模式R(A,B,C,D),F是R上成立的函数依赖集,F={A→B,C→D},则F+中左部为(BC)的函数依赖有______。A.2个B.4个C.8个D.16个5.设有关系模式R(A,B,C,D),F是R上成立的函数依赖集,F={B→D,AD→C},那么,ρ={ABC,BCD}相对于F______。A.是无损连接分解,也是保持函数依赖的分解B.是无损连接分解,但不保持函数依赖的分解得分评阅人1=2承诺:我将严格遵守考场纪律,知道考试违纪、作弊的严重性,还知道请他人代考或代他人考者将被开除学籍和因作弊受到记过及以上处分将不授予学士学位,愿承担由此引起的一切后果。专业班级学号学生签名:C≠‘C56’C.不是无损连接分解,也是保持函数依赖的分解D.既不是无损连接分解,也不保持函数依赖的分解6.有12个实体类型,并且它们之间存在15个不同的二元联系,其中4个是1:1联系类型,5个是1:n联系类型,6个m:n联系类型,那么根据转换规则,这个E-R结构转换成的关系模式有______。A.17个B.18个C.23个D.27个7.DBMS的并发控制子系统保证了事务______的实现。A.原子性B.一致性C.隔离性D.持久性8.在SQL中,集合函数COUNT(列名)用于______。A.计算元组个数B.计算属性个数C.对一列中的非空值计算个数D.对一列中的非空值和空值计算个数9.如果有n个事务串行调度,那么不同的有效调度有______。A.4nB.n!C.n2D.2n10.设有关系R(A,B,C)的值如下:ABC223234335则函数依赖______在上述关系中成立。A.BC→AB.A→BCC.A→BD.B→A二、填空题(每小题1分,共10分)1.DBS具有较高的数据独立性,其原因是______。2.设有关系模式R(A,B,C),F是R上成立的函数依赖集,F={AB→C,C→A},则R的候选码有个,为______。3.在SQL中,只有视图才可以执行更新操作。4.如果在事务的状态图中,则系统会出现死锁现象。5.两个函数依赖集F和G等价的充分必要条件是。6.判断一个并发调度是否正确,可用概念来衡量。7.在SQL中,与操作符“NOTIN”等价的操作符是。8.事务的持久性是由DBMS的实现的。9.封锁能避免异常等错误的发生,但会引起问题。10.在关系代数中,交操作可由操作组合而成。得分评阅人三、简答、计算、说明题(共50分)1.在层次、网状、关系等数据模型中,数据之间的联系是如何实现的?(4分)2.在SELECT语句中,何时使用GROUP子句,何时不必使用?(4分)3.设有关系R和S如下所示,计算R⋈S和R⋈S。(6分)RSABCBCD6424496534255685265386844.设数据库中有3个关系:职工表(职工工号,姓名,年龄,性别,籍贯)工作表(职工工号,公司编号,工资)公司表(公司编号,公司名称,公司所在城市)分别表示为:EMP(E#,ENAME,AGE,SEX,ECITY)WORKS(E#,C#,SALARY)COMP(C#,CNAME,CITY)请用SQL语句写出下列操作:(共20分)(1)假设每个职工可以在多个公司工作,查询在编号为C4和C8公司兼职的职工工号和姓名。(4分)(2)假设每个职工可以在多个公司工作,查询每个职工的兼职公司数目和工资总数,按(E#,NUM,SUM_SALARY)显示,分别表示职工工号、公司数目和工资总数。(4分)得分评阅人3=2(3)设职工工号为E6的职工在多个公司工作,查询至少在E6职工兼职的所有公司工作的职工工号。(6分)(4)查询联华公司中低于本公司平均工资的职工工号和姓名。(6分)5.已知关系模式RU,F,其中:U={A,B,C,D,E,G},F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG}。计算(CD)F+。(6分)6.考虑以下两个事务,并回答问题。(10分)T1:read(A);T2:read(B);read(B);read(A);ifA=0thenB:=B+1;ifB=0thenA:=A+1;write(B);write(A);(1)给事务T1和T2增加加锁、解锁指令,使它们遵从两段锁协议。(2)举例说明这两个事务的执行会引起死锁吗?四、综合题(共20分)1.一个图书借阅管理数据库要求提供下述服务:可随时查询书库中现有书籍的品种、数量及存放位置。所有各类书籍均可由书号唯一标识。可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。根据以上情况和假设,试作如下设计:(1)画出满足需求的E-R图。(8分)(2)将上述E-R图转换为等价的关系模式,并标出主码。(6分)2.说明以下等式成立,并说明如何利用它提高某些查询的效率。(6分)E1⋈θ(E2-E3)=E1⋈θE2-E1⋈θE3得分评阅人A华东交通大学2007—2008学年第二学期考试卷数据库系统原理及应用课程课程类别:必(A)卷闭卷参考答案一、单项选择题(每题2分,共20分)1.B2.B3.C4.C5.B6.B7.C8.C9.B10.A二、填空题(每小题1分,共10分)1.三级结构之间存在着两级映象2.2AB和BC3.行列子集4.沿箭头方向存在一个循环5.F+=G+6.可串行性(化)7.ALL8.恢复管理子系统9.死锁10.差三、简答、计算、说明题(共50分)1.答:在层次、网状模型中,数据联系通过直指针实现。在关系模型中,数据联系通过外键和主键相联系实现。(4分)2.答:SELECT语句中使用GROUP子句的先决条件是要有聚合操作。当聚合操作值与其它属性的值无关时,不必使用GROUP子句。例如求男同学的人数。此时聚合值只有一个,因此不必分组。当聚合操作值与其它属性的值有关时,必须使用GROUP子句。例如求每一性别的人数。此时聚合值有两个,与性别有关,因此必须分组。(4分)3.设有关系R和S如下所示,计算R⋈S和R⋈S。(6分)R⋈SR⋈SABCDAR.BR.CBCD6425642425653864252656846535385686844.请用SQL语句写出下列操作:(共20分)(5)假设每个职工可以在多个公司工作,查询在编号为C4和C8公司兼职的职工工号和姓名。(4分)SELECTA.E#,A.ENAMEFROMEMPA,WORKSB,WORKSCWHEREA.E#=B.E#ANDB.E#=C.E#ANDB.C#=‘C4’ANDC.C#=’C8’;(6)假设每个职工可以在多个公司工作,查询每个职工的兼职公司数目和工资总数,按(E#,NUM,SUM_SALARY)显示,分别表示职工工号、公司数目和工资总数。(4分)SELECTE#,COUNT(C#)ASNUM,SUM(SALARY)ASSUN_SALARYFROMWORKSGROUPBYE#;(7)设职工工号为E6的职工在多个公司工作,查询至少在E6职工兼职的所有公司工作的职工工号。(6分)SELECTX.E#FROMWORKSXWHERENOTEXISTS(SELECT*FORMWORKSYWHEREE#=‘E6’ANDNOTEXISTS(SELECT*FROMWORKSZWHEREZ.E#=X.E#ANDZ.C#=Y.C#));(8)查询联华公司中低于本公司平均工资的职工工号和姓名。(6分)SELECTA.E#,A.ENAMEFROMEMPA,WORKSB,COMPCWHEREA.E#=B.E#ANDB.C#=C.C#ANDCNAME=‘联华公司’ANDSALARY(SELECTAVG(SALARY)FROMWORKS,COMPWHEREWORKS.C#=CMOMP.C#ANDCNAME=‘联华公司’);5.已知关系模式RU,F,其中:U={A,B,C,D,E,G},F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG}。计算(CD)F+。(6分)解:令X(0)=CD逐一扫描F集合中的各个函数依赖,找左部为C,D或CD的函数依赖,得:3=23=2C→A,D→EG∴X(1)=CD∪AEG=ACDEG∵X(0)≠X(1)∴再找出左部为ACDEG子集的那些函数依赖,又得:ACD→B,CG→BD,CE→AG∴X(2)=X(1)∪ADG=ABCDEG∵X(2)已等于全部的属性集合∴(CD)F+=ABCDEG6.考虑以下两个事务,并回答问题。(10分)(1)T1:lock-S(A)read(A)lock-X(B)read(B)ifA=0thenB:=B+1write(B)unlock(A)unlock(B)T2:lock-S(B)read(B)lock-X(A)read(A)ifB=0thenA:=A+1write(A)unlock(B)unlock(A)(2)两个事务的并发执行会产生死锁,例如:T1T2lock-S(A)lock-S(B)read(B)read(A)lock-X(B)lock-X(A)两个事务死锁四、综合题(共20分)1........一个图书借阅管理数据库要求提供下述服务:(1)画出满足需求的E-R图。(8分)(2)将上述E-R图转换为等价的关系模式,并标出主码。(6分)借书人(借书证号,姓名,单位)图书(书号,书名,数量,位置,出版社名)出版社(出版社名,电报,电话,邮编,地址)借阅(借书证号,书号,借书日期,还书日期)2.说明以下等式成立,并说明如何利用它提高某些查询的效率。(6分)将(E1⋈θ(E2-E3))、(E1⋈θE2)、(E1⋈θE3)分别命名为R1、R2和R3。很清楚:若元组t属于R1,它也属于R2;若元组t属于R3,t(E3的属性)将属于E3,因此t不属于R1由以上两点可知:t,tR1t(R2−R3)(1)同理,若元组t属于R2,它也属于R2−R3,那么,t(R2的属性)E2并且t(R2的属性)将属于E3。则,t,t(R2−R3)tR1(2)由(1)、(2)可知原等式成立。原等式右边的连接会产生许多最终要从结果中移出的元组,原等式左边被评估为更有效。借书人图书出版社借阅出版借书证号姓名单位借书日期还书日期书号书名数量位置出版社名电报编号邮编地址电话m1mn