1、第六章关系数据理论(我们数据库老师给的资料,蛮有用的,分享下)一、求最小依赖集例:设有依赖集:F=ABC, CA, BC一D, ACDB, D-EG, BEC, CGBD, CE AG,计算与其等价的最小依赖集。解:1、将依赖右边属性单一化,结果为:F1=ABC, CA, BCD, ACDB, DE, DG, BEC, CGB, CGD, CEA, CE-G)2、在Fl中去掉依赖左部多余的属性。对于CE-A,由于C-A成立,故E是多余的;对于ACD 一B,由于(CD) +=ABCEDG,故A是多余的。删除依赖左部多余的依赖后:F2=ABC, CA, BC一D, CDB, D-E, DG, BE
2、C, CGB, CG-D, CE-G)3、在F2中去掉多余的依赖。对于CG-B,由于(CG) JABCEDG,故CG-B是多余的。删 除依赖左部多余的依赖后:F3=ABC, CA, BC一D, CD一B, DE, DG, BEC, CJD, CEG CG-B与CD-B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。二、求闭包例:关系模式 R (U, F),其中 U=A, B, C, D, E, I, F=A-D, AB-E, BI-E, CD-I, E-C,计算(AE) 解:令乂=陋, X (0) =AE;计算X (1);逐一扫描F集合中各个函数依赖,在F中找出左边是AE子集的函数依
3、赖,其结果是:A-D, E-C。于是X (1) =AEUDC=ACDE;因为X (0)工X (1),且X (1) RU,所以在F中找出左边是ACDE子集的函数依赖,其结果是:CD-I。于是X=ACDEUI=ACDEIO虽然X (2) KX (1),但在F中未用过的函数依赖的左边属性已没有X (2)的子集,所以不必再计算下去,即(AE) +=ACDEIo三、求候选键例1:关系模式R (U, F),其中U=A, B, C, D), F=A-B, C一D,试求此关系的候选键。解:首先求属性的闭包:(A) +=AB,(B) +=B,(C) +=CD,(D) +=D(AB) +=AB, (AC) +=A
4、BCD=U, (AD) +=ABD, (BC) +=BCD, (BD) +=BD, (CD) +=CD (ABD) +=ABD, (BCD) +=BCD,因(AC) +=ABCD=U,且(A) +=AB, (C) + =CD,由闭包的定义,AC一A, ACB, AC 一B, AC一D,由合并规则得AC-ABCD=U;由候选码的定义可得AC为候选码。后选关键字的求解理论和算法对于给定的关系R (Al, A2,An)和函数依赖集F,可将其属性分为四类:L类:仅出现在F的函数依赖左部的属性;R类:仅出现在F的函数依赖右部的属性;N类:在F的函数依赖左右两边均未出现的属性;LR类:在F的函数依赖左右两
5、边均出现的属性。定理1对于给定的关系模式R及其函数依赖集F,若X (X属于R)是L类属性,则X必为R的任一候选关键字的成员。例1:关系模式R (U, F),其中U=A, B, C, D, F=A-B, C-D,试求此关系的候选键。例2设有关系模式R(A, B, C, D),其函数依赖集F=D-B, B-D, AD-B, AC-D,求R的 所有候选键。推论 对于给定的关系模式R及其函数依赖集F,若X (X属于R)是L类属性,且X+包含了 R的全部属性,则X必为R的惟一候选关键字。定理2对于给定的关系模式R及其函数依赖集F,若X (X属于R)是R类属性,则 X不在任何候选关键字中。例 3 关系模式
6、 R (U, F),其中 U=A, B, C, D, E, P, F=AB, C-D, E-A , CE-D, 试求此关系的候选键。定理3对于给定的关系模式R及其函数依赖集F,若X (X属于R)是N类属性,则 X必为R的任一候选关键字的成员。例 4 设有关系模式 R(A, B, C, D, E, P),其函数依赖集 F=A-D, E-D, D-B, BC-D, DC -A,求R的所有候选关键字。推论对于给定的关系模式R及其函数依赖集F,若X (X属于R)是N类和L类组成 的属性集,且X+包含了 R的全部属性,则X必为R的惟一候选关键字四、关系模式规范化程度的判断(在BCNF内判断)例5关系模式
7、R (U, F),其中U=A, B, C, D),函数依赖集F=B-D, AB-C,试求R最高属于第几范式。解:根据判定定理及推论得:AB必是候选码的成员,且(AB) +=ABCD=U,所以AB为候选码。则AB-D,又因B-D,存在非主属性对码的部分依赖,所以最高为1NF。例6关系模式R (U, F),其中U=A, B, C, D, E),函数依赖集F=ABCE, E-AB,C-D,试求R最高属于第几范式。解:根据判定定理及推论得:属性D肯定不在候选码中,通过计算可得:(AB) +=ABCDE=U,且(E) +=ABCDE=U,所以 AB、E 为候选码;由于F中不存在部分依赖,故R至少属于2N
8、F;因AB-C, AB-E, C-D,存在非主属性对码的传递依赖,所以最高为2NF。例7关系模式R (U, F),其中U=A, B, C),函数依赖集F=A-B, B-A, A-C,试 求R最高属于第几范式。解:根据判定定理及推论得:属性C肯定不在候选码中,通过计算可得:(A) +=ABC=U,且(B) +=ABC=U,所以 A、B 为候选码;由于候选码仅有一个属性,不存在部分依赖,故R至少属于2NF;B-A, A-C,由于A-B,所以不存在非主属性对码的传递依赖,所以R也是3NF。又因为F满足BCNF的定义,故R也是BCNFp例8关系模式R (U, F),其中U=A, B, C),函数依赖集
9、F=A-B, B-A, C-A,试 求R最高属于第几范式。解:根据判定定理及推论得:属性C肯定在候选码中,又因(C) +=ABC=U,所以C为候选码;由于候选码仅有一个属性,不存在部分依赖,故R至少属于2NF;C-A, A-B,存在非主属性对码的传递依赖,所以R最高为2NF。例9关系模式R (U, F),其中U=A, B, C, D),函数依赖集F=A-C, D-B,试求R 最高属于第几范式。解:根据判定定理及推论得:属性AD肯定在候选码中,又因(AD) +=ABCD=U,所以AD为候选码;而AD-B, D-B,存在非主属性对码的部分依赖,所以R最高为1NF。例10关系模式R (U, F),其中U=A, B, C, D,函数依赖集F=A-C, CD-B,试求R最高属于第几范式。解:根据判定定理及推论得:属性AD肯定在候选码中,又因(AD) +=ABCD=U,所以AD为候选码;而AD-C, A-C,存在非主属性对码的部分依赖,所以R最高为1NF。如有侵权请联系告知删除,感谢你们的配合!