属性集闭包简单求法(包看懂)

觉得看完有帮助的可以顺手点个赞哦!

首先我们要知道闭包是什么:
设有关系模式R(U),U是属性集,F是函数依赖集,X⊆U。F+中所有X->A的A的集合称为X的闭包,记为X+。

ps:可以理解为X+表示所有X可以决定的属性

属性集闭包求法

下面介绍的是比较简单传统的闭包求法

求取属性集闭包的步骤:

  1. 设要求的闭包属性集是Y,把Y初始化为X.
  2. 检查函数依赖集F中的每个函数依赖A->B,如果属性集A中的所有属性都在Y中而B中有属性不在Y中,则将其加入到Y中。
  3. 重复第二步,直到没有属性可以添加到Y中为止。最后得出的Y就是X+。

*例子:*设有关系模式R(M,N,X,Y,Z)其依赖集F={M->H,H->Z,Y->Z,N->Y,Z->M}。求M+,MH+
第一步:设要求的闭包属性集是Y,把Y初始化为X.
令X={M},我们先看M->H,由于函数依赖M->H左边的所有属性都在X中,而右边H不在X中,所以可以把H添加到X 中,此时X={M,H}

然后按照顺序我们再看H->Z,我们不难发现函数依赖H->Z左边的所有属性都在X中,右边的属性Z又不在X中,仍旧添加,这时X={M,H,Z}

下一个

Y->Z,可以发现Y属性不在X中,条件不满足
N->Y,可以发现N属性不在X中,条件不满足
Z->M,Z属性在X中条件满足,但右边M也在X中条件不满足。

属性判断完 ,那么属性M的闭包:M+=MHZ。在这里插入图片描述
MH+的求法也一样

令X={M,H},先看M->H,不难看出M在X中,H也在,右不满足。

H->Z,H在X中,属性Z不在,所以可以把Z加入到X中,这时X={M,H,Z}

Y->Z,Y属性就不满足,pass

N->Y,N属性也不在X中,pass

Z->M,右边M属性在X中不满足添加条件

即MH+=MHZ

  • 99
    点赞
  • 202
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值