欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » 关系数据库基础教程 » 正文

最新评论

FD的逻辑蕴涵与推理规则

创建时间:2012年06月04日 17:22  阅读次数:(11736)
分享到:

FD的逻辑蕴涵


定义4.2  设F是在关系模式R上成立的函数依赖的集合,X→Y是一个函数依赖。如果对于R的每个满足F的关系r也满足X→Y,那么称F逻辑蕴涵X→Y,记为F ? X→Y

定义4.3  设F是函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集F的闭包(closure),记为F+。即 F+={ X→Y |F?X→Y}

FD的推理规则


设U是关系模式R的属性集,F是R上成立的只涉及到U中属性的函数依赖集。FD的推理规则有以下三条:
A1(自反性,reflexivity):若Y?X?U,则X→Y在R上成立。
例:设U的属性为{学号、姓名、家庭住址},其中没有两个同学的家庭住址是相同的。设X为{学号、姓名},Y为{姓名},这样满足Y?X?U。可以看出 X→Y在R上成立,但是Y→X是不成立的

A2(增广性,augmentation):若X→Y在R上成立,且Z?U,则XZ→YZ在R上成立。
例:设U的属性为{学号、姓名、家庭住址},其中没有两个同学的家庭住址是相同的。设X为{学号、姓名},Y为{姓名},Z为{家庭住址}。可以看出XZ为{学号、姓名、家庭住址},YZ为{姓名、家庭住址},那么XZ→YZ在R上成立

A3(传递性,transitivity):若X→Y和Y→Z在R上成立,则X→Z在R上成立。
例:设U的属性为{学号、姓名、家庭住址},其中没有两个同学的家庭住址是相同的。其中X为{学号},Y为{家庭住址},Z为{姓名},可以看出X→Y和Y→Z在R上成立,且X→Z在R上成立。

FD推理规则A1、A2和A3是正确的。也就是,如果X→Y是从F用推理规则导出,那么X→Y在F+中。

FD的其他五条推理规则:
(1) A4(合并性,union):{ X→Y,X→Z }?X→YZ。
(2) A5(分解性,decomposition):{ X→Y,Z?Y }?X→Z。
(3) A6(伪传递性):{ X→Y,WY→Z }?WX→Z。
(4) A7(复合性,composition):{ X→Y,W→Z }?XW→YZ。
(5) A8 { X→Y,W→Z }?X∪(W-Y)→YZ。

例4.5  已知关系模式R(ABC),F={ A→B,B→C },求F+。
根据FD的推理规则,可推出F的F+有43个FD。
譬如,据规则A1可推出A→φ(φ表示空属性集),A→A,…。据已知的A→B及规则A2可推出AC→BC,AB→B,A→AB,…。据已知条件及规则A3可推出A→C等。作为习题,读者可自行推出这43个FD。

上题中43个FD分别为:
A→空 A B→空  AC→空  ABC→空  B→空  C→空
A→A  AB→A  AC→A  ABC→A  B→B  C→C
A→B  AB→B  AC→B  ABC→B  B→C  空→空
A→C  AB→C  AC→C  ABC→C  B→BC
A→AB  AB→AB  AC→AB  ABC→AB  BC→空
A→AC  AB→AC  AC→AC  ABC→AC  BC→B
A→BC  AB→BC  AC→BC  ABC→BC  BC→C
A→ABC  AB→ABC  AC→ABC  ABC→ABC  BC→BC 

定义4.4  对于FD X→Y,如果Y?X,那么称X→Y是一个“平凡的FD”(可以按照规则正常推导出来的),否则称为“非平凡的FD”。

定理4.3  如果A1…An是关系模式R的属性集,那么X→A1…An成立的充分必要条件是X→Ai(i=1,…,n)成立。
充分用规则A4推导,必要用规则A5推导

FD和关键码的联系


定义4.5  设关系模式R的属性集是U,X是U的一个子集。如果X→U在R上成立,那么称X是R的一个超键。如果X→U在R上成立,但对于X的任一真子集X1都有X1→U不成立,那么称X是R上的一个候选键。本章的键都是指候选键。见书中P43页超键和候选键的定义。

例4.6  在学生选课、教师任课的关系模式中:
R(S#,SNAME,C#,GRADE,CNAME,TNAME,TAGE)
如果规定:每个学生每学一门课只有一个成绩;每个学生只有一个姓名;每个课程号只有一个课程名;每门课程只有一个任课教师。
根据这些规则,可以知道(S#,C#)能函数决定R的全部属性,并且是一个候选键。虽然(S#,SNAME,C#,TNAME)也能函数决定R的全部属性,但相比之下,只能说是一个超键,而不能说是候选键,因为其中含有多余属性。 

属性集的闭包


定义4.6  设F是属性集U上的FD集,X是U的子集,那么(相对于F)属性集X的闭包用X+表示,它是一个从F集使用FD推理规则推出的所有满足X→A的属性A的集合:X+={ 属性A | X→A在F+中 }
(X+里包含n个属性,那么左边为X的FD的个数为2的n次幂)

定理4.4  X→Y能用FD推理规则推出的充分必要条件是Y?X+。 
例4.7  属性集U为ABCD,FD集为{ A→B,B→C,D→B }。则用上述算法,可求出A+=ABC,(AD)+=ABCD,(BD)+=BCD,等等。 
此时左边为A的函数依赖个数为2的3次幂,左边为AD的函数依赖个数为2的4次幂,左边为BD的函数依赖个数为2的3次幂

属性集的闭包


定义4.6  设F是属性集U上的FD集,X是U的子集,那么(相对于F)属性集X的闭包用X+表示,它是一个从F集使用FD推理规则推出的所有满足X→A的属性A的集合:X+={ 属性A | X→A在F+中 }
(X+里包含n个属性,那么左边为X的FD的个数为2n)
定理4.4  X→Y能用FD推理规则推出的充分必要条件是Y?X+。

例4.7  属性集U为ABCD,FD集为{ A→B,B→C,D→B }。则用上述算法,可求出A+=ABC,(AD)+=ABCD,(BD)+=BCD,等等。 
此时左边为A的函数依赖个数为2的3次幂,左边为AD的函数依赖个数为2的4次幂,左边为BD的函数依赖个数为2的3次幂

(注,在属性集的闭包与FD推理规则的完备性中,部分公式使用html显示不正确,建议下载ppt查看:ppt下载地址:关系数据库的规范化设计教程下载)
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf】

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 76+30=? 的结果(结果是:106)
结  果: