第5章-关系数据库的模式设计习题解答

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第5章关系数据库的模式设计习题解答一.简答题1.理解并给出下列术语的定义:函数依赖,部分函数依赖,完全函数依赖,传递函数依赖,键码、主键码、,外键码,全码,1NF,2NF,3NF,BCNF,多值依赖,4NF。此处从略,详见书上。2.各举一个属于1NF,2NF,3NF,BCNF和4NF的例子,并加以说明。此处从略,详见书上。二.问答题1.设有关系模式R(A,B,C,D,E),F={AB→C,B→D,D→E,C→B},要求:(l)通过闭包的计算来求出R的所有键码,并说明该模式是哪一类范式?单属性:A+=A,B+=BDE,C+=BCDE,D+=DE,E+=E双属性:AB+=ABCDE,AC+=ABCDE,AD+=ADE,AE+=AE,BC+=BCDE,BD+=BDE,BE+=BDE,CD+=BCDE,CE+=BCDE,DE+=DE三属性:ABC+=ABCDE,BCD+=BCDE,CDE+=BCDE,ADE+=ADE,ABE+=ABCDE,ABD+=ABCDE,BCE+=BCDE,ACD+=ABCDE,BDE+=BDE,ACE+=ABCDE四属性:ABCD+=ABCDE,BCDE+=BCDE,ACDE+=ABCDE,ABDE+=ABCDE,ABCE+=ABCDE五属性:ABCDE+=ABCDER的所有键码是:AB,AC。注:R的所有超键码是:ABC、ABE、ABD、ACD、ACE、ABCD、ACDE、ABDE、ABCE、ABCDE。若选AB为主键码,由于D是部分函数依赖于AB,故R1NF。(2)R分解为R1(A,B,C)和R2(B,D,E),请问该分解是否保持函数依赖?R1的键码为AB和AC,F1={AB→C,C→B};R2的键码为B,F2={B→D,D→E}。因为F=F1∪F2,所以该分解保持函数依赖。(3)指出R1和R2的范式等级,并给出证明。因为R1没有非主属性,所以也不可能存在非主属性对键码的部分函数依赖和传递函数依赖,即:R13NF。又由于F1中有违例C→B,故R1BCNF。因为D和E完全函数依赖于B,故R22NF。又由于E传递函数依赖于B,故R23NF。(4)可否将R1和R2分解成若干个BCNF范式?写出分解结果。根据模式分解的方法,可以将R1和R2分解成若干个BCNF范式,其具体的分解结果如下:将R1分解为:R11(A,C)BCNF,R12(B,C)BCNF;2将R2分解为:R21(B,D)BCNF,R22(D,E)BCNF。2.下面的结论哪些是正确的?哪些是错误的?简单说明理由。(l)任何一个二目关系是属于3NF的(正确)设任何一个二目关系为R(A,B),现分二种情况进行讨论:a)若关系R中A或B为键码,不妨设A为键码,则F={AB}。根据第二范式和第三范式的定义,显然R3NF。b)若关系R中(A,B)为键码,则F={(A,B)(A,B)}。根据第二范式和第三范式的定义,显然R3NF。综上所述,任何一个二目关系是属于3NF的。(2)任何二个二目关系是属于BCNF的(正确)设任何一个二目关系为R(A,B),现分二种情况进行讨论:a)若关系R中A或B为键码,不妨设B为键码,则F={BA}。根据BC范式的定义,显然RBCNF。b)若关系R中(A,B)为键码,则F={(A,B)(A,B)}。根据BC范式的定义,显然RBCNF。综上所述,任何一个二目关系是属于BCNF的。(3)任何一个二目关系是属于4NF的(正确)设任何一个二目关系为R(X,Y),如果XY(即X、Y之间存在平凡的多值依赖),则R4NF。(4)X是R的码,那么关系模式R是3NF的(错误)假设有关系S(X,A,B),函数依赖F={XA,AB},由于B传递函数依赖于X,所以R3NF。(5)只有一个候选码的3NF关系模式,也必是BCNF的(正确)如果R是只有一个候选码的3NF关系模式,则关系模式R必定具有以下形式:R(K,A1,A2,……,An),F={KA1,KA2,……,KAn}根据BC范式的定义,显然RBCNF。(6)由全部属性组成码的关系模式是3NF的,也是BCNF的(正确)根据第(1)、(2)小题中情况(b)的证明方法,可以同理得到结果。(7)若X→→Y在W(WU)上成立,则在U上也一定成立(错误)多值依赖的有效性与属性集的范围有关。若X→→Y在U上成立则在W(XYWU)上成立,反之则不然。例如在关系模式CTB(课程,教师,参考书)中,我们已经分析过有课程→→教师,课程→→参考书但如果我们扩展该关系模式,加入属性学生,则上述两个多值依赖值都不再成立。这是因为上述两个多值依赖是针对论域(课程,教师,参考书)而言的,当论域变为(课程,教师,参3考书,学生)时,有关属性的值之间的关系已不再满足多值依赖的定义。3.已知一关系模式:借阅(借书证号,姓名,所在系,书号,借书日期),要求:(l)请给出你认为合理的数据依赖;F={借书证号姓名,借书证号所在系,(借书证号,书号)借书日期}借阅关系的键码为:(借书证号,书号)。(2)该模式是第几范式?请证明;由于姓名部分函数依赖于(借书证号,书号),故借阅2NF,显然借阅1NF。(3)将它分解成3NF的关系模式。根据模式分解的方法,可将借阅关系分解为:R1(借书证号,姓名,所在系)3NF,R2(借书证号,书号,借书日期)3NF。4.在一订货系统数据库中,有一关系模式如下:订货(订单号,订购单位名,地址,产品型号,产品名,单价,数量)要求:(l)给出你认为合理的数据依赖;F={订单号订购单位名,订单号地址,产品型号产品名,产品型号单价,(订单号,产品型号)数量}(2)给出一组满足第三范式的关系模型。先画出一下函数依赖图:然后进行如下投影分解:R1(订单号,订购单位名,地址)3NFR2(产品型号,产品名,单价)3NFR3(订单号,产品型号,数量)3NF

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功