数据库期末复习:综合应用题汇总

设计题

  1. 设教学数据库中有三个基本表: 学生表S(SNO,SNAME,AGE,SEX),其属性分别表示学号、学生姓名、年龄、性别。课程表C(CNO,CNAME,TEACHER),其属性分别表示课程号、课程名、上课教师名。选修表SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。 有如下SQL查询语句: SELECT CNO FROM C WHERE CNO NOT IN (SELECT CNO FROM S,SC WHERE S.SNO=SC.SNO AND SNAME=‘张三’); 请完成下列问题: (1)用汉语句子阐述上述SQL语句的含义; (2)用等价的关系代数表达式表示上述SQL查询语句。
  2. 设有关系R和函数依赖F: R(A,B,C,D,E),F = { ABC→DE,BC→D,D→E }。 试求下列问题: (1)关系R的侯选码是什么?R属于第几范式?并说明理由。(3分) (2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分) 要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。 (1)关系R的候选码是(A,B,C),R∈1NF,因为R中存在非主属性D,E对候选码(A,B,C)的部分函数依赖。 (3分) (2)首先消除部分函数依赖 将关系分解为: R1(A,B,C) (A,B,C)为候选码, R1中不存在非平凡的函数依赖 R2(B,C,D,E),(B,C)为候选码, R2的函数依赖集为:F2={(B,C)→D,D→E} 在关系R2中存在非主属性E对候选码(B,C)的传递函数依赖,所以将R2进一步分解: R21(B,C,D) ,(B,C)为候选码, R21的函数依赖集为:F21 = { (B,C)→D } R22(D,E) ,D为候选码, R22的函数依赖集为:F22 = { D→E } 在R1中已不存在非平凡的函数依赖,在R21、R22关系模式中函数依赖的决定因素均为候选码,所以上述三个关系模式均是BCNF。

四、设计题 1.设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),(S#,CNAME)为候选码,设关系中有如下函数依赖: (S#,CNAME)→SNAME,SDEPT,MNAME S#→SNAME,SDEPT,MNAME (S#,CNAME)→GRADE SDEPT→MNAME 试求下列问题: (1)关系STUDENT属于第几范式?并说明理由。(3分) (2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为巧 BCNF。(7分) 要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。 (1) 关系STUDENT是1NF,因为F中存在非主属性SNAME,SDEPT,MNAME对侯选码(S#,CNAME)的部分函数依赖。  (2) ① 首先消除部分函数依赖(S#,CNAME)→SNAME,SDEPT,MNAME将关系分解为: R1(S#,SNAME,SDEPT,MNAME),S#为候选码, R1的函数依赖集为: F1 = { S#→SNAME,SDEPT,MNAME,SDEPT→MNAME} R2(S#,CNAME,GRADE),S#为候选码, R2的函数依赖集为: F2={(S#,CNAME)→GRADE} ② 在关系R1中存在非主属性MNAME对候选码S#的传递函数依赖S#→MNAME,所以将R1进一步分解: R11(S#,SNAME,SDEPT) ,S#为候选码, R11的函数依赖集为: F11 = { S#→SNAME,SDEPT} R12(SDEPT,MNAME) ,SDEPT为候选码, R12的函数依赖集为: F12 = { SDEPT→MNAME} 在R2、R11、R12关系模式中函数依赖都是非平凡的,并且决定因素均是候选码,所以上述三个关系模式均是BCNF。


综合设计题

经验分享 程序员 微信小程序 职场和发展