函数依赖推理资料

函数依赖推理资料

ID:38470658

大小:31.00 KB

页数:3页

时间:2019-06-13

函数依赖推理资料_第1页
函数依赖推理资料_第2页
函数依赖推理资料_第3页
资源描述:

《函数依赖推理资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、5.2.3函数依赖公理系统1974年W.W.Armstrong首先提出了函数依赖的公理系统,称为Armstrong公理。对于一组已知的函数依赖,利用该公理可导出所蕴函的函数依赖。对于关系模式R(U,F),为了确定一个关系模式的码,为了从一组函数依赖求得蕴含的函数依赖,我们需要从现有的函数依赖集合F下推导或者至少需要判断函数依赖X→Y是否为F所蕴含。为此,我们需要一套推理规则。这样的推理规则,在1974年由Armstrong首先提出来,称为Armstrong公理(Armstrong'saxioms)系统。在介绍Armstrong公理系

2、统之前,我们先给出逻辑蕴含和F的闭包的概念。1.逻辑蕴含给定一个关系模式,只考虑给定的函数依赖是不够的,必须找出在该关系模式上成立的其他函数依赖。逻辑蕴含:设F是关系模式R(U)的函数依赖集合,由F出发,可以证明其他某些函数依赖也成立,我们称这些函数依赖被F逻辑蕴含。例如,设F={A→B,B→C},则函数依赖A→C被F逻辑蕴含,记作:F

3、=A→C。即函数依赖集F逻辑蕴含函数依赖A→C。2.F的闭包F+  对于一个关系模式,如何由已知的函数依赖集合F,找出F逻辑蕴涵的所有函数依赖集合呢?这就是我们下面要讨论的问题。F的闭包F+:设F为

4、一个函数依赖集,F的闭包是指F逻辑蕴涵的所有函数依赖集合。F的闭包记作F+。例如,给定关系模式R(A,B,C,G,H,I),函数依赖集合F={A→B,A→C,CG→H,CG→I,B→H}。可以证明函数依赖A→H被F逻辑蕴涵。设有元组s和t,满足s[A]=t[A],根据函数依赖的定义,由已知的A→B,可以推出s[B]=t[B]。又根据函数依赖B→H,可以有s[H]=t[H]。因此,已经证明对任意的两个元组s和t,只要有s[A]=t[A],就有s[H]=t[H]。所以,函数依赖A→H被F逻辑蕴涵。计算F的闭包F+,可以由函数依赖的定义直

5、接计算,如上面的示例。但是,当F很大时,计算的过程会很长。为了从已知的函数依赖推导出其它函数依赖,Armstrong提出了一套推理规则,称为Armstrong公理,通过反复使用这些规则,可以找出给定F的闭包F+。其推理规则可归结为如下3条:自反律(reflexivity)、增广律(augmentation)和传递律(transitivity)。3.Armstrong公理设U为属性总体集合,F为U上的一组函数依赖,对于关系模式R(U,F),X、Y、Z为属性U的子集,有下列推理规则:A1:自反律(reflexivity)若YXU,则X→

6、Y为F所蕴函。A2:增广律(augmentation)  若X→Y为F所蕴函,且Z是U的子集,则XZ→YZ为F所蕴函。式中XZ和YZ是X∪Z和Y∪Z的简写。A3:传递律(transitivity)若X→Y、Y→Z为F所蕴函,则X→Z为F所蕴函。由自反律所得到的函数依赖都是平凡的函数依赖,自反律的使用并不依赖于F,而只依赖于属性集U。Armstrong公理是有效的和完备的。可以利用该公理系统推导F的闭包F+。由于利用Armstrong公理直接计算F+很麻烦。根据A1,A2,A3这三条推理规则还可以得到其他规则,用于简化计算F+的工作。

7、如下面扩展的三条推理规则:  *合并规则:由X→Y,X→Z,有X→YZ  *伪传递规则:由X→Y,WY→Z,有XW→Z  *分解规则:由X→YZ,则有X→Z,X→Y  Armstrong公理可以有多种表示形式,例如,增广律A2可以用合并规则代替。例如,用自反律A1,传递律A3和合并规则可推导出增广律A2。  证明:XZ→X(A1:自反律)  X→Y(给定条件)  XZ→Y(A3:传递律)  XZ→Z(A1:自反律)  XZ→YZ(合并规则)4.属性集的闭包  原则上讲,对于一个关系模式R(U,F),根据已知的函数依赖F,反复使用前面

8、的规则,可以计算函数依赖集合F的闭包F+。但是,利用推理规则求出其全部的函数依赖F+是非常困难的,而且也没有必要。因此,可以计算闭包的子集,即选择一个属性子集,判断该属性子集能函数决定哪些属性,这就是利用属性集闭包的概念。 (1)属性集闭包的定义  设F为属性集U上的函数依赖集,XU,即X为U的一个子集。在函数依赖集F下被X函数决定的所有属性为F+下属性集X的闭包,记作X+。即X+={A

9、X→A}。 (2)计算属性集闭包X+的算法如下:  输入:X,F  输出:X+ 迭代算法的步骤:  ①选取X+的初始值为X,即X+={X};  ②

10、计算X+,X+={XZ},其中Z要满足如下条件:YX+,且F中存在一函数依赖Y→Z。实际上就是以X+中的属性子集作为函数依赖的决定因素,在F中搜索函数依赖集,找到函数依赖的被决定属性Z放到X+中。  ③判断:如果X+没有变化?或X+等

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。