频道栏目
首页 > 资讯 > SQL Server > 正文

SQLServer属性集的闭包,最小函数依赖集等题目讲解

18-06-12        来源:[db:作者]  
收藏   我要投稿

多说无益,直接看题。

已知关系模式R(U,F),其中U={ A,B,C,D,E},F是这样的关系集合{AB—>C,B—>D,C—>E,EC—>B,AC—>B},求AB的闭包。

第一步,设X0=AB,在F中找出这样的关系,左边是AB的子集,即左边为A,B,AB,从题目可得AB—>C,B—>D

第二步,将X0的子集推出的属性,这里是C,D与X0并起来得到X1=ABCD,因为X1不等于X0(直到Xi=Xj)继续运算

重复第一步,但此时注意,你要找的是X1的子集,而且是从来没用过的子集,像A,B,AB就不需要重新计算了,此时找的应该是C—>E,AC—>B

重复第二步,得到X2=ABCDE,此时虽然X2!=X1,但是X2却包含所有属性集合了,也可以停止继续运算,即AB的闭包为ABCDE

总结:也就是说,我们找一个属性集的闭包时,就是在找该属性所有能直接或间接推导出来的属性,然后不断合并。

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

一个函数依赖中右部分只能含有一个属性

不含多与依赖,即去掉某一函数依赖后形成的集合B和原来的集合A是等价的,在说白点,B可以退出去掉的函数依赖

不含部分依赖,像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是绝对成立的,有跟没有无差别

相关TAG标签
上一篇:ORACLE官方SQL语言参考之聚合函数实例讲解
下一篇:两种mysql的安装配置教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站