4.2函数依赖 第4章 4.2.6属性集的闭包及其算法 X+={属性AX→A在F+中} 定理4.3 X→Y能用函数依赖推理规则推出的充分必要条件是Y二X+中 算法4.1 result=X do ifF中有某个函数依赖Y→Z满足Y result then result=result U Z while(result7有所改变); 例子:U=XYZW,F={X→Y,Y→Z,W→Y,计算X+,XW+和(YW)+
第1章 绪论 第 16 4.2 函数依赖 4章 4.2.6 属性集的闭包及其算法 X +={属性A|X→A在F +中} X→Y能用函数依赖推理规则推出的充分必要条件是Y X + 中 result=X do { if F中有某个函数依赖Y→Z满足Y result then result=result ∪ Z } while (result有所改变); 例子:U={XYZW},F={X →Y,Y →Z,W →Y},计算X+,XW+和(YW)+ 算法4.1 定理4.3
4.2函数依赖 第4章 4.2.7候选码的求解理论和算法 候选码的定义 如果X→U在R上成立(即X→U在F+中),那么称X是R的一个超码。 如果XU在R上成立,但对X的任一真子集X都有X'U不成立(即X'→U不在F+ 中,或者XU),那么称X是R上的一个候选码。 快速求解候选码的一个充分条件 对于给定的关系模式R(A1.·,A)和函数依赖集F,可将其属性分为以下四类: L类 R类 N类 LR类
第1章 绪论 第 17 4.2 函数依赖 4章 4.2.7 候选码的求解理论和算法 候选码的定义 ❑ 如果X→U在R上成立(即X→U在F +中),那么称X是R的一个超码。 ❑ 如果X→U在R上成立,但对X的任一真子集X′都有X′→U不成立(即X′→U不在F+ 中,或者X → U),那么称X是R上的一个候选码。 快速求解候选码的一个充分条件 对于给定的关系模式R(A1.,An)和函数依赖集F,可将其属性分为以下四类: L类 R类 N类 LR类 f
4.2函数依赖 第4章 定理4.4 对于给定的关系模式R及其函数依赖集F (1)若X(X∈R)是L类属性,则X必为R的任一候选键的成员。 (2)若X(X∈R)是L类属性,且X+包含了R的全部属性,则X必为R的惟一候选码。 (3)若x(X∈R)是R类属性,则X不在任何候选键中。 (4)若X(X∈R)是N类属性,则X必为R的任一候选码的成员。 (5)若X(X∈R)是R的N类和L类属性组成的属性集,且X+包含了R的全部属性,则 X是R的唯一候选码。 (6)若X(X∈R)是时LR类属性,则X可能为R的任一候选码的成员,也可能不为R的 任一候选码的成员。 设有关系模式R(A,B,C,D)与它的函数依赖集F={D→B,B→D,AD→B,AC→D} 求R的所有候选码
第1章 绪论 第 18 4.2 函数依赖 4章 定理4.4 对于给定的关系模式R及其函数依赖集F (1)若X(X∈R)是L类属性,则X必为R的任一候选键的成员。 (2)若X(X∈R)是L类属性,且X +包含了R的全部属性,则X必为R的惟一候选码。 (3)若X(X∈R)是R类属性,则X不在任何候选键中。 (4)若X(X∈R)是N类属性,则X必为R的任一候选码的成员。 (5)若X(X∈R)是R的N类和L类属性组成的属性集,且X +包含了R的全部属性,则 X是R的唯一候选码。 (6)若X(X∈R)是时LR类属性,则X可能为R的任一候选码的成员,也可能不为R的 任一候选码的成员。 设有关系模式R(A,B,C,D)与它的函数依赖集F={D → B,B →D,AD →B,AC →D}, 求R的所有候选码
4.2函数依赖 第4章 多属性函数依赖集候选键的求解算法 (1)属性分类(L、R、N和LR),X代表L类和N类属性,Y代表LR类属性。 (2)若X+包含了R的全部属性,转(5);否则,转(3)。 (3)在Y中取一个属性A,求(XA)+,若它包含了R的全部属性,则转(4);否则 调换一属性反复进行这一过程,直到试完所有Y中的属性。 (4)如果已找出所有候选码,则转(5);否则在Y中依次取两个属性 三个属性、·,求它们的属性集的闭包,直到其闭包包含R的全部属性。 (5)停止,输出结果
第1章 绪论 第 19 4.2 函数依赖 4章 多属性函数依赖集候选键的求解算法 (1)属性分类(L、R、N和LR),X代表L 类和N类属性,Y代表LR类属性。 (2)若X +包含了R的全部属性,转(5);否则,转(3)。 (3)在Y中取一个属性A,求(XA) +,若它包含了R的全部属性,则转(4);否则, 调换一属性反复进行这一过程,直到试完所有Y中的属性。 (4)如果已找出所有候选码,则转(5);否则在Y中依次取两个属性 、三个属性、.,求它们的属性集的闭包,直到其闭包包含R的全部属性。 (5)停止,输出结果