华东交大2004—2005学年第2学期考试卷参考答案数据库系统原理课程课程类别:必闭卷(√)题号一二三四五六七八九总分分数评卷人一、填空题(每空1分,共18分)1、数据库管理系统是位于用户与操作系统之间的一层数据管理软件。2、数据库系统的三级模式结构是指内模式、模式、外模式。3、数据库系统的三种数据模型是层次模型、关系模型、网状模型。4、若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。5、实体联系模型中三种联系是一对一联系(1:1)、一对多联系(1:n)、多对多联系(m:n)。6、数据库事务的ACID特性是指原子性、一致性、隔离性和持续性。7、并发控制带来的三种数据不一致是丢失数据、不可重复读、读“脏”数据。8、封锁是实现并发控制的一个非常重要的技术,基本的封锁类型有两种,即共享锁(X琐)、排它锁(S锁)。二、选择题(每空1分,共12分)1、关系模式的任何属性AA.不可再分B.可再分C.命名在该关系模式中可以不唯一D.以上都不是2、关系数据库中的关键字是指DA.能唯一决定关系的字段B.不可改动的专用保留字C.关键的很重要的字段D.能唯一标是元组的属性或属性组合3、有关系R和S,R∩S的运算等价于BA.S-(R-S)B.R-(R-S)C.(R-S)∪SD.R∪(R-S)4、设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为AA.r+sB.r-sC.r×sD.max(r,s)5、进行自然联接运算的两个关系必须具有BA.相同属性个数B.公共属性C.相同关系名D.相同关键字6、关系模式中,各级范式之间的关系为AA.3NF2NF1NFB.3NF1NF2NFC.1NF2NF3NFD.2NF1NF3NF7、在关系数据库中,任何二目关系模式的最高范式必定是D承诺:我将严格遵守考场纪律,并知道考试违纪、作弊的严重性,承担由此引起的一切后果。专业班级学号学生签名:A.1NFB.2NFC.3NFD.BCNF8、设有关系模式R(A,B,C,D),F是R上成立的FD集,F={B→C,C→D},则属性C的闭包C+为CA.BCDB.BDC.CDD.BC9、从E-R图向关系模型转换时,一个n:m的联系转换为关系模式时,该关系模式的关键字是AA.n端实体关键字和m端实体关键字的组合B.n端实体的关键字C.m端实体的关键字D.重新选取其它属性10、在ER模型中,如果有6个不同实体集,有9个不同的二元联系,其中3个1∶N联系,3个1∶1联系,3个M∶N联系,根据ER模型转换成关系模型的规则,转换成关系的数目是DA.A.6B.9C.12D.1511、关于“死锁”,下列说法中正确的是CA.死锁是操作系统中的问题,数据库操作中不存在B.在数据库中防止死锁的方法是禁止两个用户同时操作数据库C.只有出现并发操作时,才有可能出现死锁D.当两个用户竞争相同资源时,不会发生死锁12、设有两个事物T1和T2,他们的并发操作如下图所示。对于这个并发操作,正确的评价是AA.该操作丢失了修改B.该操作不存在问题C.该操作读“脏”数据D.该操作不能重复读三、求解、计算或证明题(50分)1、根据题目要求为每一个查询写出关系代数表达式及SQL语句(18分)在学生选课数据库中有学生表S(Sno,Sname,Ssex);课程表C(Cno,Cname);选课表SC(Sno,Cno,Grade),请完成以下查询:1)查询S2学生选修的课程号、课程名、成绩(4分)2)查询C2课程共有哪些学号的学生选修及成绩(4分)3)查询“李强”同学没有选修的课程的课程号(6分)4)用SQL语言完成该操作:把对SC表的查询和修改Grade属性的权限授给用户“李强”。(4分)1)πCno,Cname,Grade(σSno=‘S2’(SC)C)(1分)SelectCno,Cname,GradeFromSC,CWhereSC.Cno=C.CnoandSC.Sno=’S2’(3分)2)πSno,Grade(σCno=‘C2’(SC))(1分)SelectSno,GradefromSCwhereSC.Cno=’C2’(3分)3)πCno(C)—πCno(σSname=‘李强’(S)SC)(2分)SELECTCNOFROMCWHERECNONOTIN(SELECTCNOFROMSC,ST1T2①读X=48②③X←X+10写回X④读X=48X←X-2写回XWHERESC.SNO=S.SNOANDS.SNAME=’李强’);(4分)4)GRANTSELECT,UPDATE(Grade)ONTABLESCTO李强(4分)2、若关系模式R∈BCNF,证明R∈3NF.(8分)证明:①设R∈BCNF,则对所有R中的函数依赖X→Y(YX),X中必含有码②假定R(U,F)∈3NF,则必定存在有一个非主属性Z’(Z’Y’),使得X’→Y’(Y’→X’),Y’→Z’成立③由于存在非主属性Z’,使X’→Y’和Y’→Z’成立,而R∈BCNF,则X’中必含有码Xk,Y’中含有码Yk,则Y’→X’成立,与②中的结论相矛盾。因此R∈3NF3、根据给出的关系代数表达式的语法树,利用关系代数表达式的优化算法对该语法树进行优化,画出优化后的标准语法树(12分)在供应关系数据库S_P_J中有供应商表S,零件表P,工程项目表J,及供应情况表SPJ四个表。以下是“没有使用天津供应商生产的红色零件的工程号JNO”对应的关系代数表达式,并给出了查询语句和初始语法树。其关系代数表达式为:πJno(J)-πJno(σS.Sno=SPJ.SnoP.Pno=SPJ.PnoCity=‘天津’Color=‘红’(S×SPJ×P))SQL语句为:语法树为:SELECTJNOFROMJWHEREJNONOTIN(SELECTJNOFROMS,SPJ,PWHERES.SNO=SPJ.SNOANDSPJ.PNO=P.PNOANDS.CITY=‘天津’ANDP.COLOR=‘红’)请用关系代数表达式优化算法对原始的语法树进行优化处理,并画出优化后的标准语法树。πJno(J)-πJno(σS.Sno=SPJ.SnoP.Pno=SPJ.PnoCity=‘天津’Color=‘红’(S×SPJ×P)≡πJno(J)-πJno(σS.Sno=SPJ.Sno(σP.Pno=SPJ.Pno(σCity=‘天津’(σColor=‘红’(S×SPJ×P)))))≡πJno(J)-πJno(σS.Sno=SPJ.Sno(σP.Pno=SPJ.Pno(σCity=‘天津’(S)×SPJ×σColor=‘红’(P))))≡πJno(J)-πJno(σP.Pno=SPJ.Pno(σCity=‘天津’(S)SPJ×σColor=‘红’(P)))≡πJno(J)-πJno(σCity=‘天津’(S)SPJσColor=‘红’(P))(4分)结果—JnoJnoColor=’红’City=’天津’P.Pno=SPJ.PnoS.Sno=SPJ.SnoSPJSPJ(8分)优化后的标准语法树为:4、关系模式P(A,B,C,D,E,F,G,H,I,J)满足下列函数依赖:FD={ABD→B,AB→G,B→F,C→J,CJ→I,G→H},求FD的最小函数依赖集,并判断该关系模式属于几范式。a)求Fm:(10分)(1)逐一检查F中各函数依赖Fdi:X→Y,若Y=A1A2…Ak,k2,则用{X→Aj|j=1,2,…,k}来取代X→Y。这一步已不用做了,F中所有函数依赖右边都是单个属性的。(2)逐一检查F中各函数依赖FDi:X→A,令G=F-{X→A},若AXG+,则从F中去掉此函数依赖。检查ABD→B:令G=F-{ABD→B},BABDG+=ABDFGH,所以将ABD→B从F中去掉,F’={AB→G,B→F,C→J,CJ→I,G→H}再检查AB→G:令G=F’-{AB→G},GABG+=ABF,所以不能将AB→G从F’中去掉再检查B→F:令G=F’-{B→F},FBG+=B,所以不能将B→F从F’中去掉再检查C→J:令G=F’-{C→J},JCG+=C,所以不能将C→J从F’中去掉再检查CJ→I:令G=F’-{CJ→I},ICJG+=CJ,所以不能将CJ→I从F’中去掉再检查G→H:令G=F’-{G→H},HGG+=G,所以不能将G→H从F’中去掉所以,F’={AB→G,B→F,C→J,CJ→I,G→H}(3)逐一取出F中各函数依赖FDi:X→A,设X=B1B2…Bm,逐一考查Bi(i=l,2,…,m),若A(X-Bi)F+,则以X-Bi取代X。F’={AB→G,B→F,C→J,CJ→I,G→H}检查AB→G:GAF+=(AB-B)F+=A且GBF+=(AB-A)F+=BF所以AB→G不能被取代再检查CJ→I:IJF+=(CJ-C)F+=J但ICF+=(CJ-J)F+=CJI所以CJ→I被C→I取代所以,Fm={AB→G,B→F,C→J,C→I,G→H}b)判断R为几范式:(2分)R为1NF四、综合题(20分)1、学籍管理系统中主要涉及的对象包括学生、宿舍、档案材料、班级、班主任。其中,学生由学号,姓名,出生日期,所在系等属性来描述;宿舍由宿舍编号,地址,人数等属性来描述;档案材料由档案号,所在学校等属性来描述;班级由班级号,学生人数等属性来描述;班主任由职工号,姓名,性别,是否为优秀班主任等属性来描述;实体之间的联系有:a:由于一个宿舍可以住多个学生,而一个学生只能住在某一个宿舍中,因此宿舍与学生结果—JnoJnoColor=’红’City=’天津’P.Pno=SPJ.PnoS.Sno=SPJ.SnoSPJSPJ之间是1:n的联系。b:由于一个班级往往有若干名学生,而一个学生只能属于一个班级,因此班级与学生之间也是1:n的联系。c:由于班主任同时还要教课,因此班主任与学生之间存在指导联系,一个班主任要教多名学生,而一个学生只对应一个班主任,因此班主任与学生之间也是1:n的联系。d:而学生和他自己的档案材料之间,班级与班主任之间都是1:1的联系。根据题意求解下列各问:(1)用E-R图方法为学籍管理系统设计概念模型(8分)(2)将该E-R图转换为关系模型(4分)(1)(2)学生(学号,姓名,出生日期,所在系)宿舍(宿舍号,地址,人数)档案(档案号,学号,所在学校)班级(班级号,学生人数,班主任)班主任(职工号,班号,姓名,性别,是否为优秀班主任)2、设有如下事务:T1:读B;A=B+1;写回AT2:读A;B=A+1;写回B(1)两个事务并发执行,举例可能结果。兵法事务执行是否正确的标准是什么?(5分)(2)请给出一个可串行化的调度,并给出执行结果。(3分)(1)设A,B的初始值为A=B=2可能的结果为A=3,B=4或A=4,B=3班主任班级学生宿舍档案材料学号姓名出生日期所在系学生人数班级号职工号姓名性别是否为优秀班主任负责指导属于住宿对应宿舍编号地址人数学生人数班级号111n1nn111多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行他们时的结果相同,称这种调度策略为可串行化的调度。(2)T1T2SLOCKBY=B=2XLOCKASLOCKAA=Y+1等待写回A(=3)等待UNLOCKB等待UNLOCKA等待X=A=3XLOCKBB=X+1写回B(=4)UNLOCKAUNLOCKB