【例】关系模式R<U,F>,其中U={A,B,C,D,E},F={AB→C,B→D,C→E,EC→B,AC→B},求(AB)+
第一步,令X(0)=AB。
第二步,求X(1)。先列出X(0)的非空子集,即AB的非空子集为{A,B,AB}。
然后扫描F集合,寻找{A,B,AB}可能存在的函数依赖,就可以得到:AB→C,B→D。
于是就可以求得X(1)=X(0)∪C∪D=ABCD。
然后判断X(0)如果等于X(1)就结束,所求即为答案,如果X(0)不等于X(1)就继续计算。
第三步,求X(2)。
同第二步求X(1)得非空真子集,然后在F中一次寻找函数依赖,可以得到:AB→C,B→D,C→E,AC→B。
求得X(2)=X(1)∪C∪D∪E∪B=ABCDE。
这时候发现X(2)已经等于全部属性集U了,就结束计算,得出(AB)+ =ABCDE。
注:如果计算的X(2)不等于U,并且仍然不等于X(1),则继续计算下去。直到满足X(i)=X(i-1)或X(i)=U时停止,此时所求闭包为X(i)。
————————————————
版权声明:本文为CSDN博主「灰灰灰灰Gray」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Game_Zmh/article/details/88058069