答案1
⑴ 它为第几范式?为什么?
⑵ 是否存在删除操作异常?若存在,说明是在什么情况下发生的?
⑶ 将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?
解:
⑴ 它是2NF。
关系R的候选码为课程名,而课程名→教师名,教师名→教师地址,? 课程名→教师地址,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。
又关系R不存在非主属性对候选码的部分函数依赖,? R是2NF。 ⑵ 存在。当删除某门课程时会删除不该删除的教师的有关信息。 ⑶ 分解为高一级范式,如下图所示。 R1 课程名 C1 C2 C3 C4 R2 教师名 陈红 李刚 吴立新 教师地址 D1 D1 D2 教师名 陈红 李刚 吴立新 李刚 分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。 答案2 解:
(1)它是2NF。
关系R的候选码为课程名,而课程名→教师名,教师名→教师地址,? 课程名→教师地址,即存在非主属性教师地址对候选码课程名的传递函数依赖,因此R不是3NF。 又关系R不存在非主属性对候选码的部分函数依赖,? R是2NF。 (2)存在。当删除某门课程时会删除不该删除的教师的有关信息。
(3)分解为高一级范式如图所示。 R1
课程名 C1 C2 C3 C4 R2
教师名 教师地址 教师名 马千里 于得水 余快 于得水 马千里 于得水 余快
D1 D1 D2 分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。 答案3 解:
R不属于3NF,它是2NF。? R的候选码为职工号和职工名,而:
职工号→单位号,单位号→单位名 ? 职工号→单位名,即存在非主属性单位名对候选码职工号的传递函数依赖。
规范化后的关系子模式为如图所示的关系R1与R2。 R1
职工号 职工名 年龄 性别 单位号 E1 E2 E3 E4 R2
单位号 单位名 D3 D1 答案5
(1)写出关系模式S的基本函数依赖和主码。 答: 关系模式S的基本函数依赖如下:
Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade 关系模式S的码为:(Sno,Course)。
(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?
答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。
消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下: S1(Sno,Sname,SD,Sdname)、S2(Sno,Course,Grade) (3)将关系模式分解成3NF,并说明为什么? 答: 将上述关系模式分解成3NF如下:
关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下: S11(Sno,Sname,SD) S12(SD,Sdname) 分解后的关系模式S11、S12满足3NF。
对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。
S11(Sno,Sname,SD) S12(SD,Sdname) S2(Sno,Course,Grade)
ZHAO QIAN SUN LI 20 25 38 25 F M M F D3 D1 D3 D3 CCC AAA 答案6
解:S不属于3NF,它属于2NF。 S的候选关键字为“学号”。
依赖关系:学号→系号, 系号→系名,系号 → 学号
所以: 学号→系名,即存在非主属性系名对候选关键字“学号”的传递依赖,S不是3NF.
在S中所有非主属性均依赖于码学号,所以S是2NF。将S分解成: S1(学号,学生名,年龄,性别,系号)、S2(系号,
系名),分解后的Sl与S2如图所示:
关系模式S1如下: 学号 100001 200001 200002 300001 300004 300005 关系模式S2如下: 系号 1 2 3 系名 通信工程 电子工程 计算机 学生名 王 婧 张 露 黎明远 王 烨 张 霹 潘 建 年龄 18 19 20 21 20 19 性别 女 女 男 男 女 男 系号 1 2 2 3 3 3 关系模式S1、S2上无传递依赖,它们是3NF。
答案7
(1)它为第几范式? 为什么?
解:它是2NF。
因为R的候选关键字为“课程名”。
依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以 课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。
(2)是否存在删除操作异常?若存在,则说明是在什么情况下发生的?
解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。
(3)将它分解为高一级范式,分解后的关系是如何解决分解前可能存在的删除操作异常问题?
解: 分解为高一级范式如图所示。
R1如下: 课程名 C1 C2 C3 C4 教师名 马千里 于得水 余快 于得水
R2如下:
教师名 马千里 于得水 余快 教师地址 D1 D1 D2 分解后,若删除课程数据时,仅对关系R1操作,教师地址信息在关系R2中仍然保留,不会丢失教师方面的信息。
答案8
解:R不属于3NF,它是2NF。
R的候选关键字为职工号和职工名,而:
职工号→单位号,单位号 → 职工号,单位号→单位名.所以,职工号→单位名,即存在非主属性“单位名”对候选关键字职工号的传递函数依赖,所以R不是3NF,规范化后的关系子模式为如下图。
R1如下:R2如下:
职工名 年龄 性别 单位号
职工号 E1 E2 E3 E4 ZHAO QIAN SEN L1 20 25 38 25 F M M F D3 D1 D3 D3
位号 D3 D1 单位名 CCC AAA 答案9
解:SC为1NF。
它存在插入、删除异常操作。当增设一门新课程时,因还没有学生选修,则缺少关键字的一部分SNO而不能执行插入操作;当所有学生退选某门课程而进行删除操作时,会将不法删除的课程信息删除。
SC关系中存在插入和删除操作异常的原因在于,该关系的候选关键字为(SNO,CN0),其中仅有非属性GRADE完全函数依赖于(SNO,CNO),其他非主属性CTITLE、INAME、ILOCA都只函数依赖于CNO,即它们与(SNO,CNO)为部分函数依赖关系。分解后的关系模式如下:
SG 如下:
CNO C1 C2 C1 C3 C4 GRADE 70 85 86 72 95 SNO 0152 80153 80154 80154 80155 CI如下:
分解后的两个关系子模式都为2NF(实际上,SG
O CTITLE INAME 是3NF,它无传递依赖)。解决了先前的插入、删除异
常操作。当增设一门新课程时,可将数据插入到CI表
C1 OS 王平 中;当所有学生退选某门课程时,只需删除SG表中的
有关记录,而该课程的有关信息仍保留在CI表中。
C2 DB 高升 分解2NF后的CI关系中仍存在插入、删除操作异
常。若有一个新教师报到,需将其有关数据插入操作;
C3 AI 杨杨 当取消某门课程而删除CI表中的一条记录时,会将不
该删除的教师的有关信息删除。CI表中出现操作异常
C4 CL 高升 的原因是该关系中存在非主属性对候选关键字的传递
函数依赖:
CNO→INAME,INAME →CNO,INAME→ILOCA,所以CNO→ILOCA(函数传递依赖,CI不是3NF) 将CI进一步分解为如下所示的Course和Inst两个关系,可以解决上述操作异常。
COURSE INST
ILOCA D1 D2 D3 D2 CNO C1 C2 C3 C4
CTITLE OS DB AI CLINAME 王平 高升 杨杨 高升INAME 王子 高升 杨杨 ILOCA D1 D2 D3