关系数据库理论补充资料

文章作者 100test 发表时间 2007:12:05 11:30:37
来源 100Test.Com百考试题网


函数依赖与属性关系如果两个属性之间的联系是多对多的,则它们之间不存在函数依赖关系。
设有属性集X,Y以及关系模式R:如果X,Y之间是1:1的联系(如学校和校长),则X和Y之间存在函数依赖X->Y和Y->X.如果X,Y之间是m:1的联系(如学号和姓名),则存在函数依赖X->Y.如果X,Y之间是m:n的联系(如学生和课程),则X和Y之间不存在函数依赖。
例1:在关系模式中,如果属性A和B存在1对1的联系,则说____________. A.A->B B.B->A C.A?->B D.以上都不对正确答案是:。C
例2:当属性B函数依赖与A时,属性A与B的联系是_____________. A. 1对多B.多对1 C.多对多D.以上都不对正确答案:B
关键码的求解理论和算法对于给定的关系R(A1A2…An)和函数依赖集F,可将其属性分为4类:L类:仅出现在F函数依赖左部的属性R类:仅出现在F函数依赖右部的属性N类:在F函数依赖的左右两部均未出现的属性LR类:在F函数依赖的左右两部均出现的属性定理:对于给定的关系模式R及其函数依赖集F,若X是R的L类属性,则X必为R的任一关键码的成员。
推论:对于给定的关系模式R及其函数依赖集F,若X是R的L类属性,且X 包含了R的全部属性,则X必为R的唯一关键码。
例;设有关系模式R(A,B,C,D),其函数依赖集F={D->B,B->D,AD->B,AC->D},求R的所有关键码。
解:考察F发现,A,C两属性是L类属性,由以上的定理可知,AC必是R的关键码,又因为AC =ABCD,所以AC是R的唯一关键码。
用计算闭包的方法寻找键码A =A,B =B,C =C,D =DB AB =ABD,AC =ABCD,AD =ABD,BC =BCD,BD =BD,CD =CDB ABC =ABCD,ABD =ABD,BCD =BCD,ADC =ABCD ABCD =ABCD考察以上计算闭包的结果可以得知:超键是AC,ABC,ADC,ABCD. A,C都包含在所有的超键中,并且AC是唯一的键码这两种方法得出的结果是相同的。显然,对于具有较多属性的R,使用前面一种方法要简单的多。大家应该掌握前面一种方法。
上述例子中没有R类属性,B,D都是LR类属性。
定理:对于给定的关系模式R及其函数依赖集F,若X是R的R类属性,则X不是R的任何关键码的成员。
定理:对于给定的关系模式R及其函数依赖集F,若X是R的N类属性,则X必为R的任一关键码的成员。
例:设有关系模式R(A,B,C,D,E,P),R的函数依赖集为F={A->D,E->D,D->B,BC->D,DC->A},求R的所有关键码。
解:考察F发现,属性E,C是L类属性,故E,C必在R的任何关键码中。
又因为属性P是N类属性,所以P也在R的任何关键码中。
而CEP =ABCDEP,所以CEP是R的唯一关键码。
推论:对于给定的关系模式R及其函数依赖集F,如果X是R的N类和L类组成的属性集,且X 包含了R的全部属性,则X是R的唯一键码。
关系模式的范式一定要把1NF,2NF,3NF,BCNF的定义理解透彻。此外要记住任何二元关系都是BCNF.例题:如下关系R是____________.材料号材料名生产厂M1线材武汉M2型材武汉M3板材广东M4型材武汉
A.1NF B.2NF C.3NF D.BCNF正确答案是:B分析:首先该关系是1NF.其次以上关系上存在的函数依赖有:材料号->材料名,材料名->材料号,材料号->生产厂以上关系的键码是材料号。
可以看到,非主属性生产厂对键码材料号存在传递依赖。但是不存对键码的部分依赖。
所以该关系不是3NF,是2NF.



相关文章


北京地区计算机等级考试10日起报名
全国计算机等级考试明年增加四科目
08年计算机等级考试报名开始12月31日止
计算机等级考试三级PC技术考试-大纲(08年版)
关系数据库理论补充资料
数据库概念知识概括
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛