第六章作业

目录

  • 一、 建立一个关于系、学生、班级、学会等诸信息的关系数据库
  • 二、有关系模式R(A,B,C,D,E),回答下列问题:
  • 三、试说明下列为什么错了,并记住下面正确的
  • 四、证明:
  • 总结

一、 建立一个关于系、学生、班级、学会等诸信息的关系数据库

描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区;
描述班级的属性有:班号、专业名、系名、人数、入校年份;
描述系的属性有:系号、系名、系办公地点、人数;
描述学会的属性有:学会名、成立年份、地点、人数;
有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。
一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。
学生参加某学会有一个入会年份。
请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,
对于函数依赖左部是多属性的情况,讨论函数是完全函数依赖还是部分函数依赖。

1.学生S(Sno,SN,SB,DN,Cno,SD)
班级C(Cno,PN,DN,Cnum,EY)
系D(Dno,DN,DOL,Dnum)
学会L(LN,SY,LL,Lnum)
学生-学会SL(Sno,LN,LY)
2.最小函数依赖:
S: S n o → S N Sno \rightarrow SN SnoSN, S n o → S B Sno \rightarrow SB SnoSB, S n o → C n o Sno \rightarrow Cno SnoCno, C n o → D N Cno \rightarrow DN CnoDN, D N → S D DN \rightarrow SD DNSD
C: C n o → P N , P N → D N , C n o → C n u m , C n o → E Y , ( P N , E Y ) → C n o Cno \rightarrow PN,PN \rightarrow DN,Cno \rightarrow Cnum,Cno \rightarrow EY,(PN,EY) \rightarrow Cno CnoPN,PNDN,CnoCnum,CnoEY,(PN,EY)Cno
D: D n o → D N , D N → D n o , D n o → D O L , D n o → D n u m Dno \rightarrow DN,DN \rightarrow Dno,Dno \rightarrow DOL,Dno\rightarrow Dnum DnoDN,DNDno,DnoDOL,DnoDnum
L: L N → S Y , L N → L L , L N → L n u m LN \rightarrow SY,LN \rightarrow LL,LN \rightarrow Lnum LNSY,LNLL,LNLnum
3.传递依赖:
S:
因为 S n o → C n o Sno \rightarrow Cno SnoCno, C n o → D N Cno \rightarrow DN CnoDN所以 S n o → p D N Sno \overset p \rightarrow DN SnopDN
因为 C n o → D N Cno \rightarrow DN CnoDN, D N → S D DN \rightarrow SD DNSD所以 C n o → p S D Cno \overset p\rightarrow SD CnopSD
因为 S n o → C n o Sno \rightarrow Cno SnoCno C n o → D N Cno \rightarrow DN CnoDN D N → S D DN \rightarrow SD DNSD所以 S n o → p S D Sno \overset p\rightarrow SD SnopSD
C:
因为 C n o → P N , P N → D N Cno \rightarrow PN,PN \rightarrow DN CnoPN,PNDN,所以 C n o → p D N Cno \overset p\rightarrow DN CnopDN
D:
因为 D N → D n o , D n o → D O L DN \rightarrow Dno,Dno \rightarrow DOL DNDno,DnoDOL,所以 D N → p D O L DN \overset p\rightarrow DOL DNpDOL
因为 D N → D n o , D n o → D n u m DN \rightarrow Dno,Dno\rightarrow Dnum DNDnoDnoDnum,所以 D N → p D n u m DN \overset p\rightarrow Dnum DNpDnum

ps:我也不知道为啥答案上没有,是因为依赖的必须是主码吗??
4.左部多属性情况:
S n o , L N → L Y Sno,LN \rightarrow LY Sno,LNLY, E Y , P N → C n o EY,PN \rightarrow Cno EY,PNCno都是完全函数依赖。
第六章作业_第1张图片

二、有关系模式R(A,B,C,D,E),回答下列问题:

(1)若A是R的候选码,具有函数依赖 B C → D BC \rightarrow D BCD,那么在什么条件下R是BCNF?
答:BC包含码A
(2)若存在函数依赖 A → B A \rightarrow B AB, B C → D BC \rightarrow D BCD, D E → A DE \rightarrow A DEA,列出R的所有码。
答:(A,C,E),(B,C,E),(C,D,E)
(3)若存在函数依赖 A → B A \rightarrow B AB, B C → D BC \rightarrow D BCD, D E → A DE \rightarrow A DEA,R属于3NF还是BCNF。
答:因为A,B,C,D,E全在码中,所以属于BCNF

三、试说明下列为什么错了,并记住下面正确的

错的:
(4)当且仅当函数依赖 A → B A \rightarrow B AB在R上成立,关系R(A,B,C)等于其投影 R 1 ( A , B ) R_1(A,B) R1(A,B) R 2 ( A , C ) R_2(A,C) R2(A,C)的连接
原因:当且仅当函数依赖 A → → B A \rightarrow \rightarrow B AB在R上成立,关系R(A,B,C)等于其投影 R 1 ( A , B ) R_1(A,B) R1(A,B) R 2 ( A , C ) R_2(A,C) R2(A,C)的连接
(8)若 R ( B , C ) → R . A R(B,C) \rightarrow R.A R(B,C)R.A,则 R . B → R . A R.B \rightarrow R.A R.BR.A, R . C → R . A R.C \rightarrow R.A R.CR.A
原因:例如学号和课程能确定成绩,但是学号和课程单一一个并不能确定成绩
正确:
(1)任何一个二目关系是属于3NF的
(2)任何一个二目关系是属于BCNF的
(3)任何一个二目关系是属于4NF的
(5)若 R . A → R . B R.A \rightarrow R.B R.AR.B, R . B → R . C R.B \rightarrow R.C R.BR.C,则 R . A → R . C R.A \rightarrow R.C R.AR.C
(6)若 R . A → R . B R.A \rightarrow R.B R.AR.B, R . A → R . C R.A \rightarrow R.C R.AR.C,则 R . A → R . ( B , C ) R.A \rightarrow R.(B,C) R.AR.(B,C)
(7)若 R . ( B , C ) → R . A R.(B,C) \rightarrow R.A R.(B,C)R.A,则 R . B → R . A R.B \rightarrow R.A R.BR.A, R . ( B , C ) → R . A R.(B,C) \rightarrow R.A R.(B,C)R.A

四、证明:

(1)若R是BCNF关系模式,则R是3NF关系模式,反之则不然。
答:①若R是BCNF关系模式,则R是3NF关系模式
若R是BCNF,且R不是3NF,则存在候选码X,属性组Y,和非主属性Z,Z不包含与Y,存在:
X → Y , Y ↛ X , Y → Z X \rightarrow Y,Y\not\rightarrow X,Y\rightarrow Z XY,YX,YZ,
因为 Y ↛ X Y\not\rightarrow X YX,所以Y不包含候选码,
Y → Z Y\rightarrow Z YZ,函数Y依赖的决定元素Y不包含候选码与R包含BCNF相矛盾,
即若R属于BCNF,则一定属于3NF
②若R是3NF关系模式,则R不一定是BCNF关系模式
存在非主属性满足部分和传递函数依赖
(2)若R是3NF关系模式,则R一定是2NF关系模式。
若R是3NF,不是2NF,则存在一个非主属性Z,不完全依赖于码,
因此存在候选码X的真子集Y, Y → Z Y \rightarrow Z YZ,且 Y ↛ X Y \not\rightarrow X YX,Y是主属性,Z不是主属性
则存在候选码X,属性组Y,非主属性Z, X → Y X \rightarrow Y XY Y ↛ X Y \not\rightarrow X YX Y → Z Y \rightarrow Z YZ与R不是3NF相矛盾
故若R是3NF,则R一定是2NF

总结

我高估自己了,没想到用latex要写这么久,自大了,自大了,但是这次写完,感觉手打\rightarrow都成了习惯,还有就是对于范式掌握的不是很流畅,得多看书啊啊啊啊啊。。。

你可能感兴趣的:(sql)