1华东交通大学2000~2001学年第二学期期末考试卷数据库系统原理课程闭卷课程类别:必修2001年12月题号一二三四五六总分分数评卷人一、选择填空题。(20分)从给出的答案中选择一个正确的填入对应的空内。1.在数据库的非关系模型中,基本层次联系是B。(1)A.两个记录型以及它们之间的多对多联系B.两个记录型以及它们之间的一对多联系C.两个记录型之间的多对多的联系D.两个记录型之间的一对多的联系2.子模式是C。(2)A.模式的副本B.多个模式的集合C.模式的逻辑子集D.A、B和C3.在数据库中,产生数据不一致的根本原因是D。(3)A.数据存储量太大B.没有严格数据保护C.未对数据进行完整性控制D.数据冗余4.在关系代数的传统集合运算中,设有关系R和S,运算结果为Q。如果Q中的元组属于R,或者属于S,则Q为对R和S进行B运算的结果。如果Q中的元组属于R而不属于S,则Q为C运算的结果。如果Q中的元组既属于R又属于S,则Q为D运算的结果。专业班级学号姓名2(4)A.笛卡尔积B.并C.差D.交(5)A.笛卡尔积B.并C.差D.交(6)A.笛卡尔积B.并C.差D.交5.SQL语言具有B的功能。(7)A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵6.设有三个关系:学生(学号,姓名,性别,年龄,系别)S(S#,SN,SEX,AGE,DEPT)课程(课程号,课程名)C(C#,CN)学生选课(学生号,课程号,成绩)SC(S#,C#,GREADE)查询所有比“王华”年龄大的学生姓名、年龄和性别,正确的SELECT语句是A。查询选修四门以上课程的学生总成绩(不统计不及格的课程),并按总成绩的降序排列出来,正确的SELECT语句是B。(8)A.SLECLTSN,AGE,SEXFROMSWHEREAGE(SELECTAGEFROMSWHERESN=’王华’);B.SELECTSN,AGE,SEXFROMSWHERESN=’王华’;C.SLECLTSN,AGE,SEXFROMSWHEREAGE(SELECTAGEWHERESN=’王华’);3D.SELECTSN,AGE,SEXFROMSWHEREAGE王华.AGE;(9)A.SLECLTS#,SUM(GRADE)FROMSCWHEREGRADE=60GROUPBYS#ORDERBY2DESCHAVINGCOUNT(*)=4B.SLECLTS#,SUM(GRADE)FROMSCWHEREGRADE=60GROUPBYS#HAVINGCOUNT(*)=4ORDERBY2DESCC.SLECLTS#,SUM(GRADE)FROMSCWHEREGRADE=60HAVINGCOUNT(*)=4GROUPBYS#ORDERBY2DESCD.SLECLTS#,SUM(GRADE)FROMSCWHEREGRADE=60ORDERBY2DESCGROUPBYS#HAVINGCOUNT(*)=47.关系数据库规范化是为了解决关系数据库中A问题而引入的。(10)A.插入、删除异常和数据冗余B.提高查询速度C.减少数据操作的复杂性D.保证数据的安全性和完整性8.在关系数据库中,任何二目关系模式的最高范式必定是D。(11)A.1NFB.2NFC.3NFD.BCNF9.在关系模式中,若属性A和B存在1:1的联系,则说C。(12)A.A→BB.B→AC.A←→BD.以上都不是10.关系模式R中的属性全部是主属性,则R的最高范式必定是B。(13)A.2NFB.3NFC.BCNFD.4NF411.E-R图中的联系可以与C实体有关。(14)A.0个B.1个C.一个或多个D.多个12.数据流程图(DFD)是用于描述数据库设计方法中A阶段的工具。(15)A.需求分析B.可行性分析C.概念结构设计D.物理设计13.事务的原子性是指B。(16)A.事务一旦提交,对数据库的改变是永久的B.事务中包括的所有操作要么都做,要么都不做C.一个事物内部的操作及使用的数据对并发的其它事务是隔离的D.事务必须是使数据库从一个一致性状态变到另一个一致性状态14.设有两个事务T1、T2,它们的并发操作如右所示,D是对其正确的评价。(17)A.该操作不存在问题B.该操作丢失数据C.该操作不存在重复读D.该操作读“脏”数据15.若数据库系统在运行中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为B。(18)A.事务故障B.系统故障C.介质故障D.运行故障16.一个数据库系统至少应包括数据、硬件、软件和B四种成分,其中软件主要是指C。(19)A.环境B.用户C.界面D.管理T1T2①读A=100A=A*2写回②③ROLLBACK恢复A=100读A=1005(20)A.数据库B.操作系统C.数据库管理系统D.文件系统二、按要求计算、证明或说明。(30分)1.设关系R和S如右图所示,计算:(1)R1=﹁S(2)R2=R-S(3)R3=R∪S(4)R4=R×S2.设有关系R(A,B,C),证明:当且仅当函数依赖A→B在R上成立时,R(A,B,C)=π1,2(R)⋈π1,3(R)3.已给出关系模式和函数依赖集,指出它们分别是第几范式?并说明理由。(1)R(X,Y,Z)F={XY→Z}(2)R(X,Y,Z)F={Y→Z,XZ→Y}(3)R(X,Y,Z)F={Y→Z,Y→X,X→YZ}(4)R(X,Y,Z)F={X→Y,X→Z}(5)R(W,X,Y,Z)F={X→Z,WX→Y}4.设有函数依赖集F={AB→C,D→EG,C→A,BE→C,BC→D,CG→BD,ACD→B,CE→AG},属性全集U={A,B,C,D,E,G},求(BD)F+。三、设有如下关系模式,它们的码均用下划线标出:(20分)供应者:SUPPLIER(SNO,SNAME,CITY);零件:PART(PNO,PNAME,WEIGHT);工程:JOB(JNO,JNAME,CITY);SABCab1378RABCbba5326846联系关系:SPJ(SNO,JNO,PNO,QTY);(其中,QTY为数量)这里,一个供应者可为多个不同工程提供多种不同零件;同一个工程的同一零件可为多个供应者提供。用SQL和ALPHA语言分别表示下列查询:1.查找CITY的值为上海的工程号与名称;2.查找给工程J1提供零件的供应者号SNO;3.查找给工程J1提供零件P1的供应者号SNO;4.查找给上海或武汉的工程提供零件的供应者号SNO;5.查找上海供应者不提供P2号零件的工程号JNO。四、一个图书借阅管理数据库要求提供下述服务:(15分)1.可随时查询书库中现有书籍的品种、数量及存放位置。所有各类书籍均可由书号唯一标识。2.可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。3.当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购有关书籍。约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。根据以上情况和假设,试作如下设计:1.画出满足需求的E-R图。2.转换为等价的关系模型结构。7五、设T1、T2是并行执行的两个事务,并设A的初值为5。(15分)1.如图所示的调度是否为可串行化的?为什么?写出其执行结果。2.这两个事务是否都遵循两段锁协议?为什么?3.请给出一个对这两个事务调度的实例:它们既遵循两段锁协议,又会发生死锁。98级“数据库系统原理”考试参考答案2001年12月一、(1)B(2)C(3)D(4)B(5)C(6)D(7)B(8)A(9)B(10)A(11)D(12)C(13)B(14)C(15)A(16)B(17)D(18)B(19)B(20)C二、1.2.证明:∵A→B,则在R中,对于A的一个确定值均有一个B值与之对应又∵π1,2(R)⋈π1,3(R)={R1.A,R1.B,R2.A,R2.C}T1T2SLOCKAX=AUNLOCKAXLOCKBB=X+1UNLOCKBXLOCKA等待·SLOCKB等待A=B+1UNLOCKAUNLOCKBR1ABCaaabbb133113878787R2ABCba5264R3ABCbbaa53216847R1ABCABCbbbbaa553322668844ababab1313137878788∴当R1.A=R2.A时,B值确定,上式等于{A,B,C}3.(1)R是BCNF。R候选关键字为XY,F中只有一个函数依赖,而该函数依赖的左部包含了R的候选关键字。(2)R是3NF。R候选关键字为XY和XZ,R中所有属性都是主属性,不存在非主属性对候选关键字的传递依赖。(3)R是BCNF。R候选关键字为X和Y,∵X→YZ,∴X→Y,X→Z,由于F中有Y→Z,Y→X,因此Z是直接函数依赖于X,而不是传递依赖于X。又∵F的每一函数依赖的左部都包含了任一候选关键字,∴R是BCNF。(4)R是BCNF。R候选关键字为X,而且F中每一个函数依赖的左部包含了候选关键字X。(5)R是1NF。R候选关键字为WX,则Y,Z为非主属性,又由于X→Z,因此F中存在非主属性对候选关键字的部分函数依赖。4.解:设X=BD(1)X(0)=BD(2)在F中找出左边是BD子集的函数依赖,结果为:D→EG,所以X(1)=X(0)EG=BDEG。显然X(i+1)≠X(i)(i=0)。在F中继续寻找左边是BDEG子集的函数依赖,但用过的函数依赖不再考虑,其结果是BE→C,于是X(2)=X(1)C=BCDEG。显然X(i+1)≠X(i)(i=1)。在F中寻找左边是BCDEG子集的未用过的函数依赖,其结果是:C→A,BC→D,CG→BD,CE→AG在这些函数依赖中,未在X(2)中出现过的属性为A,于是X(3)=X(2)A=ABCDEG。这时X(i+1)≠X(i)(i=2),在F中还有未用过的函数依赖,但我们发现X(3)中已包含了属性集U中的全部属性,再计算下去,X(i)也不会增加新属性,计算完毕。输出结果:(BD)F+=ABCDEG三、SQL1.SELECTJNO,JNAMEFROMJOBWHERECITY=‘上海’;2.SELECTSNOFROMSPJWHEREJNO=‘J1’;3.SELECTSNOFROMSPJWHEREPNO=‘P1’ANDJNO=‘J1’;4.SELECTSNOFROMSPJWHEREJNOIN(SELECTJNOFROMJOBWHERECITY=‘上海’ORCITY=‘武汉’);5.SELECTJNOFROMJOBWHERE(‘上海’,‘P2’)NOTIN(SELECTCITY,PNOFROMSUPPLIER,PARTWHERE(SNO,PNO)IN(SELECTSNO,PNOFROMSPJWHERE9JNO=JOB.JNO));ALPHA1..GETW(JOB.JNO,JNAME):JOB.CITY=‘上海’2..GETW(SPJ.SNO):SPJ.JNO=‘J1’3..GETW(SPJ.SNO):SPJ.PNO=‘P1’ANDSPJ.JNO=‘J1’4..RANGEJOBJXGETW(SPJ.SNO):JX(SPJ.JNO=JX.JNO∧(JX.CITY=‘上海’∨JX.CITY=‘武汉’))5..RANGSUPPLIERSXGETW(SPJ.JNO):SX(SPJ.SNO=SX.SNO∧SPJ.PNO≠‘P2’∧SX.CITY=‘上海’)四、1.2.借书人(借书证号,姓名,单位)图书(书号,书名,数量,位置,出版社名)出版社(出版社名,电报,电话,邮编,地址)借阅(借书证号,书号,借书日期,还书日期)五、1.是可串行化的,其并行执行的结果相当于T1:读A、B=A+1和T2:A=B+1串行执行的结果:A=7、B=6。2.T1不遵循两段锁协