候选键的计算(数据库系统概论)

本篇博客是在学习数据库系统概论第六章(关系数据理论)后觉得直接去分析候选码有难度,就在网站上搜寻了一些资料,得出了一些结论,在这里分享一下,希望对大家有帮助!!!

算法步骤

1:给定关系模式R (U, F)。将R的所有属性分为L,R. LR和N四类。其中L表示属性只在函数依赖左边出现;R表示属性只在函数依赖右边出现;LR表示属性既在左边出现,又在右边出现;N表示函数依赖左右都未出现。

2.令X=LUN,(U是并集的意思) Y=LR。求X的闭包,若X的闭包包含了R的所有属性,则X为R的唯一候选码,转(5)

3. Y中选取任意一个属性A, 求(XA) 的闭包,若它包含了R的全部属性,则是候选码。调换属性,反复进行这个过程,直到试完Y中的所有属性。

4.如果已找出所有的候选码,转(5) ,否则在Y中依次选取2个属性,3个属性,. .,求他们的闭包。若其闭包包含R的全部属性,则是候选码。
5.结束算法,输出候选码

第二种情况(这里的x+就是看根据A结合着F中的依赖规则,看是否能推出U中的所有属性,若可以则是唯一候选键,反之则不是)候选键的计算(数据库系统概论)_第1张图片

例2:

候选键的计算(数据库系统概论)_第2张图片

 

你可能感兴趣的:(数据库,p2p,linq,网络协议,数据库)