《最新华东交通大学07》由会员分享,可在线阅读,更多相关《最新华东交通大学07(5页珍藏版)》请在金锄头文库上搜索。
1、华东交通大学200厂2008学年第二学期考试卷试卷编号:(A )卷数据库系统原理及应用课程 课程类别:必闭卷(“)、开卷范围D:考试日期: 题号一二三四五六七八九十总分累分人题分20105614100签名得分、选择题:(每题2分,共20 分)12345678910CCBB , CCBCBBA、填空题:(每题1分,共10分)(1)数据库管理系统(DBMS )(2)数据库系统(3)完整性约束(4)物理独立性(5)沿箭头方向存在一个循环(6)系统故障(7)可串行化(8)冗余(9)封锁粒度(10)数据转储三、应用题:(共56 分)1、(6 分)R ? SABCD64256538R甲2 SAR.BR.C
2、BCD642425642526得分评阅人t2、(共 20 分)( 1)查询籍贯在江西南昌的职工信息。 (3 分)SELECT * FROM EMP WHERE ECITY= 江西南昌 ( 2)查询在南昌工作的职工信息。 (3分)SELECT E#,ENAME,AGE,SEX,ECITY FROM EMP,WORKS,COMPWhere EMP.E#=WORKS.E# AND WORKS.C#=COMP.C#AND CITY= ”南昌 ”(3)假设每个职工可以在多个公司工作,查询在编号为C4和C8公司兼职的职工工号和姓名。 (4 分)SELECT A.E#, A.ENAMEFROM EMP A,
3、 WORKS B, WORKS CWHERE A.E# = B.E# AND B.E# = C.E# AND B.C# =C4AND C.C# = C8 ;( 4)假设每个职工可以在多个公司工作,查询每个职工的兼职公司数目和工资总数,按 (E#, NUM, SUM_SALARY) 显示,分别表示职工工号、公司数目和工资 总数。(4分)SELECT E#, COUNT(C#) AS NUM, SUM(SALARY) AS SUN_SALARYFROM WORKS GROUP BY E#;(5) 设职工工号为 E6 的职工在多个公司工作,查询至少在 E6 职工兼职的所有 公司工作的职工工号。 (6
4、 分)SELECT X.E#FROM WORKS XWHERE NOT EXISTS(SELECT *FORM WORKS YWHERE E# = E6AND NOT EXISTS(SELECT *FROM WORKS ZWHERE Z.E# = X. E# AND Z.C# = Y.C#);3、(12分)解:SQL语句为:(4 分)SELECT JNO FROM J WHERE JNO NOT IN(SELECT JNOFROM S,SPJ,P WHERE S.SNO=SPJ.SNO ANDSPJ.PNO=P.PNO ANDS.CITY=天津AND P.COLOR=红)(2) (8 分) 语
5、法树为:口 Color=红优化后的标准语法树为City=天津:-P.Pno=SPJ.Pno二 S.Sno=SPJ.SnoColor=红SPJn Jno(J) - n jno( cr S.Sno=SPJ.Sno P.Pno=SPJ.Pno City =天津Color=红(S SPJP)三 n Jno(J)- n Jno( c S.Sno=SPJ.Snd c p.Pno=SPJ.PnO c City=天津(c Color=红(SXSPJP)三 n Jno(J)- n Jno( c S.Sno=SPJ.SnO c P.Pno=SPJ.PnO c City=天津(S) WPJXc Color=红(P)
6、三 n JnoQ)- n Jno( c p.Pno=SPJ.PnO c City=天津SQSPJXc Color=红(P)三 n Jno (J)- n Jno( c City=天津(S)SPJ X c Color=红(P)4、(14 分)设关系模式 R(A,B,C,D )函数依赖集 F = A - C, C-A, B - AC, D -AC, BD A。1) 求(BD) f+,并说明BD是否为R的候选码。(4)2) 求出R的最小函数依赖集。(10分)解:1) (BD) f+=BD t B AC,D AC / (BD) f+ ABCD(B) f+= B t B AC 二(B) f+=ABC 不等
7、于A,B,C,D(D) f+= D t D AC 二(B) f+=ABD 不等于A,B,C,D由以上条件可知,BD ABCD BD是R的候选码。2)求最小函数依赖集。将F中函数依赖的右部分解为单属性:(2分)F = A C,CA, B A, B C, DA, D C, BDA(2)去掉F中冗余的函数依赖:(6分) 判断AC是否冗余。设:G仁C A, BA, B C, DA, D C, BD A, 得:Agi+=A,T C Agi二 AC 不冗余。判断CA是否冗余。设:G2=A C, BA, B C, DA, D C, BD A, 得:Cg2+=C,T A Cg2+二 CA 不冗余。判断BA是否
8、冗余。设:G3=A C,CA, B C, DA, D C, BDA, 得:Bg3+=ABC, I A Bg3+BA 冗余。判断BC是否冗余。设:G4=A C,CA, D A, D C, BDA, 得:Bg4+=B,T CBg4. BC 不冗余。判断DA是否冗余。设:G5=A C,CA, B C, DC, BDA, 得:Dg5+=ADC, t A Dg5+. DA 冗余。判断DC是否冗余。设:G6=A C,CA, B C, BD A,得:Dg6+=D,T C Dg6DC 不冗余。判断BD A是否冗余。设:G7=A C,CA, B C, DC, 得:(BD)g7+ =BDCA, t A (BD) g7+. BDA 冗余所以:F=A C,CA, B C, DC。3)由于F的左部均为单属性,所以:(2分)最小函数依赖集F=A C,CA, B C, DC。5 (4分)考虑以下两个事务,并回答问题。两个事务的并发执行会产生死锁,例如:T1T2lock-S(A)lock-S(B) read (B)read (A) lock-X (B)lock-X (A)两个事务死锁公司职工四、(14分)综合题:解:(8 分)(1)(2)( 6分)这个ER图可以转换3个关系模式:公司(公司编号,公司名,地址)仓库(仓库编号,仓库名,地址,公司编号)职工(职工编号,姓名,性别,仓库编号,聘用,工资)