首页 > 试题广场 >

给定 R(U,F),U=ABCDE, F={ABC,CE

[问答题]
给定 R(U,F),U=ABCDE, F={ABC,CED,DA},求 R(U,F)上的所有候选码。 
候选键求解:
1.给定关系模式R(U,F),根据F为属性分四类L、R、LR和N
L:仅出现在函数依赖集F左部的属性。
R:仅出现在函数依赖集F右部的属性。(不是R的候选码成员)
LR:在函数依赖集F的左右部都出现的属性。
N:在函数依赖集F中未出现的属性。(必是R的候选码成员)
2.令X=L∪N,Y=LR。若X的闭包等于U,则X为R的候选码,否则下一步。
3.Y中选取1个属性A,求(XA)的闭包是否等于U,若为真,即为候选码,否则调换属性,反复进行这个过程,直到试完Y中的所有属性。
4.如果还未找出候选码,在Y中依次选取2~n个属性,求闭包等于U,即为R的候选码。

给定 R(U,F),U=ABCDE, F={AB→C,C→ED,D→A},求 R(U,F)上的所有候选码。 

解:
①分4类
   L:B
   R:E
  LR:ACD
   N:
②组X,Y,求X闭包
X=L∪N={B}
Y=LR={ACD}
∵X+={B}+={B}≠U
∴{AD}不是R的候选码。
③选Y中一个属性与X求闭包
   {BA}+={BACED}=U,即候选码
   {BC}+={BCEDA}=U,即候选码
   {BD}+={BDACE}=U,即候选码
综上所述:R的候选码有AB、BC、BD。

发表于 2022-03-28 15:40:15 回复(0)