资源描述:
《闭包和候选码求解.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、例2:设有关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE)+解:(1)令X={AE},X(0)=AE(2)在F中寻找尚未使用过的左边是AE的子集的函数依赖,结果是:A→D,E→C所以X(1)=X(0)DC=ACDE,显然X(1)≠X(0).(3)在F中寻找尚未使用过的左边是ACDE的子集的函数依赖,结果是:CD→I所以X(2)=X(1)I=ACDEI。虽然X(2)≠X(1),但F中寻找尚未使用过函数依赖的左边已经没有X(2)的子集,所以不必再计算下去,即(AE)+=ACDEI。候选码的求解理论和算法对于
2、给定的关系R(A1,A2,…An)和函数依赖集F,可将其属性分为4类:L类仅出现在函数依赖左部的属性。R类仅出现在函数依赖右部的属性。N类在函数依赖左右两边均未出现的属性。LR类在函数依赖左右两边均出现的属性。1、快速求解候选码的一个充分条件定理:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,则X必为R的任一候选码的成员。推论:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,且X+包含了R的全部属性;则X必为R的唯一候选码。例1设有关系模式R(A,B,C,D),其函数依赖集F={D→B,B→D,AD→B,AC→D},求R的所有候选码。解:考察F
3、发现,A,C两属性是L类属性,所以AC必是R的候选码成员,又因为(AC)+=ABCD,所以AC是R的唯一候选码。定理:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是R类属性,则X不在任何候选码中。定理:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是N类属性,则X必包含在R的任一候选码中。推论:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类和N类组成的属性集,且X+包含了R的全部属性;则X是R的唯一候选码。2、多属性依赖集候选码求解方法输入:关系模式R及其函数依赖集F输出:R的所有候选码。方法:(1)将R的所有属性分为L、R、N和LR4类,并令X代表L
4、、N两类,Y代表LR类。(2)求X+。若X+包含了R的全部属性,则X即为R的唯一候选码,转(5);否则,转(3)。(3)在Y中取一属性A,求(XA)+。若它包含了R的全部属性,则转(4);否则,调换一属性反复进行这一过程,直到试完Y中的属性。(4)如果已经找出所有候选码,则转(5);否则在Y中依次取出两个、三个、…求它们的属性闭包,直到其闭包包含了R的全部属性。(5)停止,输出结果。例2、设有关系模式R,其中U={A,B,C,D,E,P},F={A→B,C→P,E→A,CE→D}求出R的所有候选码例3设有关系模式R,其中F={Y→Z,XZ→Y}求出R的所
5、有候选码,并指出关系模式是第几范式R的候选码是XY和XZ,所有属性都是主属性,不存在非主属性对候选码的传递函数依赖,是3NF.例4设有关系模式R,其中F={X→Z,WX→Y}求出R的所有候选码,并指出关系模式是第几范式R的候选码是WX,Y,Z是非主属性,非主属性X对候选码WX是部分函数依赖,是1NF.例5设有关系模式R,其中F={B→C,MT→B,MC→T,MA→T,AB→G}求出R的所有候选码,并指出关系模式是第几范式R的候选码是AM,3NF.