SqlServer第二天

属性集的闭包

1.已知关系模式R(U,F),其中U={A,B,C,D,E},F是这样的关系集合{AB->C,B—>D,C—>E,EC—>B,AC—>B}
求AB的闭包。
解:
1.第一步,设x0= AB ,在F中找出这样的关系,左边是AB的子集,即左边为A,AB,B从题目中可以的到
AB->C ,B->D
2.第二步 ,将x0的子集推出属性,这里是C,D与x0拼起来得到了x1=ABCD,因为x1!=x0继续运算
3.重复第一步,但是此时注意,我们要寻找的是x1的子集,而且是从来没有用过的子集,想A,B,AB就不需要重新计算了,此时我们找到的是C->E,AC——>B
4.重复第二步,的到x2=ABCDE,此时虽然是X2!=x1但是x2却包含所有属性集合了,也可以停止运算,即AB的闭包为ABCDE
总结:也就是说,我没找一个属性集的闭包是,就是在找该属性所有可能直接或者是间接推导出来的属性,然后就是不断的合并。

2.最小函数依赖集,首先要满足下列条件:

1.,一个函数依赖中右部分只能包含有一个属性。
2.不含多余依赖,及去掉某一个函数依赖后形成的集合B和原来的集合A等价的,说白了就是,B可以退出去掉的函数依赖
3.不含部分依赖,像F{AB——>C,A–>C}就不是最小依赖集
已知关系模式R(U,F),其中U={A,B,C},F是这样的关系集合{A—>BC,B—>C,AB—>C,A—>B}
求该模式的最小函数依赖集。
答案:F={B—>C,A—>B},A—>BC不满足一个函数依赖中右部分只能含有一个属性,B—>C,AB—>C存在部分依赖,
也可看做多余依赖,因为B—>C,AB—>C是绝对成立的,有跟没有无差别

例题1.
在这里插入图片描述
在这里插入图片描述

如果右边不仅包含的属性(就是首要将其完全分开成只包含右部的情况)

第三步删除重复的内容
在这里插入图片描述
tips :在求解FH关于F的闭包的时候虽然是存在的但是可以(由于可以全部退出然后存在包含所有闭包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值