数据库 集合闭包算法

【例】关系模式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)。

属性集的闭包:$X^+ = ABCD$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值