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

设计题

  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。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


综合设计题

在这里插入图片描述

  • 8
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值