LR候选码求解

候选键求解:
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的候选码。

【题1】给定 R(U,F),U=ABCD,F={A→B,B→C},求 R(U,F)上的所有候选码。
解:
①分4类
   L:A
   R:C
  LR:B
   N:D
②组X,Y,求X闭包
   X=L∪N={AD},Y=LR={B}
∵X+={AD}+={ADBC}
∴{AD}是R的候选码。

 
【题2】给定 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。
posted @ 2022-03-28 15:18  景池  阅读(2024)  评论(0编辑  收藏  举报