您的当前位置:首页正文

第六章 理论课课后作业

2020-08-23 来源:好走旅游网
 第六章 理论课课后作业

1.已知学生关系模式

S(Sno,Sname,SD,Sdname,Course,Grade)

其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。

(1)写出关系模式S的基本函数依赖和主码。

关系模式S的基→Grade

关系模式S的码为(Sno,Course)

(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?

本函数依赖:

Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course)

原关系模式S是属于1NF的,码为(Sno,Course),因为非关系属性中的成绩完全依赖于码,而其他非主属性对码的函数依赖为部分函数依赖,故不属于2NF; 分解成高一级范式(2NF): S1(Sno,Sname,SD,Sdname) S2(Sno,Course,Grade)

(3)将关系模式分解成3NF,并说明为什么?

因为关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解: S11(Sno,Sname,SD) S12(SD,Sdname)

分解后的S11,S12满足3NF。

因为对关系模式S2不存在非主属性对码的传递依赖,所以S2属于3NF; 所以原模式S(Sno,Sname,SD,Sdname,Course,Grade)分解为3NF: S11(Sno,Sname,SD) S12(SD,Sdname) S2(Sno,Course,Grade)

2.设有如图所示的学生关系S

学号 学生名 年龄 性别 系号 女 女 男 男 女 男 1 2 2 3 3 3 系名 通信工程 电子工程 电子工程 计算机 计算机 计算机 100001 王 婧 18 200001 张 露 19 200002 黎明远 20 300001 王 烨 21 300004 张 露 20 300005 潘 建 19 试问S是否属于3NF? 为什么?

S不属于3NF,S属于2NF,S的候选关键字为“学号” 依赖关系:学号→系别,系号→系名,系号→学号

所以存在非主属性系名对候选关键字“学号”的传递依赖,所以S不是3NF;

若不是,它属于几范式? 并将其规范化为3NF.

因为在S中所有非主属性均依赖于码学号,所以S是2NF; 将S分解为:S1(学号,学生名,年龄,性别,系号) S2(系号,系名) 分解后的S1与S2:

S1(学号,学生名,年龄,性别,系号) S2(系号,系名)

所以关系模式S1,S2上无传递依赖,它们是3NF;

3.设有如下关系R

课程名 教师名 C1 C2 C3 C4 马千里 于得水 余快 于得水 教师地址 D1 D1 D2 D1 (1)它为第几范式? 为什么?

它是2NF,因为R的候选关键字为“课程号”;

依赖关系:课程名→教师名,教师名→课程名,教师名→教师地址,所以课程名→教师地址,即存在非主属性“教师地址”对候选关键字课程名的传递函数,所以R不是3NF,又因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF;

(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?

存在;当删除某门课程时会删除不该删除的教师的有关信息,所以存在删除操作异常;

(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?

分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2仍然保留,不会丢失教师方面的信息;

4.设有如图所示的关系R。

职工号 E1 E2 E3 E4 职工名 ZHAO QIAN SEN L1 年龄 20 25 38 25 性别 F M M F 单位号 单位名 D3 D1 D3 D3 CCC AAA CCC CCC 试问R属于3NF? 为什么?

R不属于3NF,因为R的候选关键字为职工号和职工名,而职工号→单位号,单位号→职工号,单位号→单位名,所以职工号→单位名,即存在非主属性“单位名”对候选关键字职工号的传递函数依赖,所以R不是3NF。

若不是,它属于第几范式? 并如何规范化为3NF?

R属于2NF; 分解为3NF:

R1(职工号,职工名,年龄,性别,单位号) R2(位号,单位名)

5、如下图给出的关系SC为第几范式?是否存在插入、删除异常?若存在,则说明是在什么情况下发生?发生的原因是什么?将它分解为高一级范式,分解后的关系能否解决操作异常问题。 其中:SNO为学号,CNO为课程号,CTITLE为课程名,INAME为教师名,ILOCA为教师地址,GRADE为成绩。

表SC如下: SNO 80152 80153 80154 80154 80155 CNO C1 C2 C1 C3 C4 CTITLE INAME OS DB OS AI CL 王平 高升 王平 杨杨 高升 ILOCA D1 D2 D1 D3 D2 GRADE 70 85 86 72 92 候选健:(sno,cno)(sno,ctitle) 主属性:sno,cno,ctitle 非主属性:iname,iloca,grade

函数依赖:cno→ctitle,ctitle→cno,iname→iloca,iloca→iname,ctitle→iname,iloca

cno→iname,iloca;cno,sno→U,sno,ctitle→U 因为cno→iname,iloca

所以存在非主属性对键的部分依赖,仅属于1NF

存在插入异常:当要插入新同学而该同学没有选课则插不进来; 存在删除异常:当某些课程只有一个同学选,当删除该同学时相应的课程信息也被删除;

原因:存在大量冗余

R1(cno,iname,iloca) R2(sno,cno,ctitle,grade)

R2属于3NF,不属于BCNF,仍然存在问题,将其分解为R21(sno,cno,grade) R22(cno,ctitle)就解决问题了

在R1中,由于cno→iname,iname→iloca,iloca→iname,存在传递依赖,属

于2NF,但不属于3NF,进一步分解得到:(cno,iname),(cno,iloca)

因篇幅问题不能全部显示,请点此查看更多更全内容