数据库 求最小覆盖算法 检验无关属性

考虑集合F是一组函数依赖,并且关系中有函数依赖α -> β。

检验无关属性:
A. 检验左端属性A∈α是否是无关的
1. 用函数依赖集F计算 ( a − A ) + ({a} - A)^+ (aA)+
2.检验 ( a − A ) + ({a} - A)^+ (aA)+是否包含β,如果包含则A是α的无关属性

B.检验右端属性B∈β是否是无关的
1.用F’ = (F - {α -> β}) ∪ {α -> (β - B)}计算 α + α^+ α+
2.检验 α + α^+ α+是否包含B,如果包含则B是β的无关属性

依次检验,直到函数依赖左右端都不含有无关属性

最小覆盖算法:
repeat:
1.在F中将函数左端相同的进行合并 eg.α -> a, α -> b合并为α->ab
2.检查任一一个函数依赖x->y左端和右端是否存在有无关属性
3.如果有则将无关属性删除
until: F不再发生变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值