永发信息网

候选关键字的一般的求候选码的算法

答案:1  悬赏:30  手机版
解决时间 2021-01-09 14:41
候选关键字的一般的求候选码的算法
最佳答案
已知关系模式R(U)属性集是A1A2...An及R的函数依赖集F,求R(U)的一个候选码。
算法:
KEY(X,F)
K=A1A2…An;
For i=1 to n
{求K-Ai相对于F的属性闭包(K-Ai)F+;
if (K-Ai)F + =U then K=K-Ai
else then K=K; }
return K;
利用此算法求R(U)的候选码时,只能求出一个,并不能保证求出所有的码。但可以用同样的方法调整属性的删除次序而把所有的候选码都求解出来。
如此题设关系R(ABCD)及R上成立的函数依赖集为F,F={AB→C,C→D,D→A},求R的所有码。
按照上面的算法具体步骤如下:
设K={ABCD},当K=BCD时,由于KF+=ABCD,所以根据算法可删除A;
K=CD,由于KF+=ACD又因KF+不等于ABCD,所以根据算法,B不可删除;
K=BD,由于KF+=ABCD且因KF+=AB-CD,所以根据算法C可删除;
K=B,由于KF+=B又因KF+不等于ABCD,
所以根据算法,D不可删除;最后可求出KEY=BD,用同样的方法调整属性的删除次序,还可以得到另外的一个候选码AB,所以最后可以得到R的码为BD和AB。
一般求解算法适用于在判断了所有的属性均是属于在函数依赖的左部和右部都出现且在后面的几种算法都不适合的情况下采用的。
简而言之:算法概述——有N个属性,从1到N循环。K初始为全部属性,每次循环时减去第N个属性,如果KF+包含全部属性,则K的值重新附值为K减去第N个属性后的值;否则K仍为上次循环后的值。(算法适于所有属性皆为LR类且其他算法不合适时,实际算时要更换删除顺序后反复计算)

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一只青蛙住在一口枯井里.它坐井观天,以为天
帮忙做一下
下列各式中,可以在有理数范围内进行因式分解
北京关爱青春文化交流有限公司怎么样?
欠网贷30多个一共五万多块钱。不还会怎样
首次购房,首套房这两者到底如何认定
求拉德斯基进行曲现场版mp3下载
intel SSD 310 80G 非正常关机后变成了8MB,大
有家早餐这个地址在什么地方,我要处理点事
画蛇天足的故事和意思
新房的实际高度与合同上签的不一致,合同上签
怎么给网页加访问计数器
长粒香米饭怎么做好吃
粤语男女对唱歌词有可给我半颗星
❀【初中地理】❀ 某人从北京出
推荐资讯
2吨燃油燃烧机在正常使用时风门开度是多少
春卷皮哪里可以买到 超市买的春卷怎么做
猞猁读音是什么
自己喜欢的短袖买瘦了,感觉太紧身了,纯棉材
小学 四年级数学题32*15+96*45怎样用简便计算
有的电视中一个演员扮演两个人,这是怎么回事
为什么QQ军棋上那么多人都喜欢骂人?
高数极限 来个大佬看对不对
单选题关于地球和太阳,下列说法中正确的是A.
vivo手机问题高手进来
您好!请问彩钢房钢立柱冬天时室内部分反霜结
酱香饼芝麻什么时候放
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?