函数依赖推理资料.doc_第1页
函数依赖推理资料.doc_第2页
函数依赖推理资料.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5.2.3 函数依赖公理系统1974年W.W.Armstrong首先提出了函数依赖的公理系统,称为Armstrong公理。对于一组已知的函数依赖,利用该公理可导出所蕴函的函数依赖。 对于关系模式R(U,F),为了确定一个关系模式的码,为了从一组函数依赖求得蕴含的函数依赖,我们需要从现有的函数依赖集合F下推导或者至少需要判断函数依赖XY是否为F所蕴含。为此,我们需要一套推理规则。这样的推理规则,在1974年由Armstrong首先提出来,称为Armstrong公理(Armstrongs axioms) 系统。在介绍Armstrong公理系统之前,我们先给出逻辑蕴含和F的闭包的概念。1. 逻辑蕴含给定一个关系模式,只考虑给定的函数依赖是不够的,必须找出在该关系模式上成立的其他函数依赖。逻辑蕴含:设F是关系模式R(U)的函数依赖集合,由F出发,可以证明其他某些函数依赖也成立,我们称这些函数依赖被F逻辑蕴含。例如,设F= AB,BC ,则函数依赖AC被F逻辑蕴含,记作:F |= AC。即函数依赖集 F 逻辑蕴含函数依赖AC。2. F的闭包F+对于一个关系模式,如何由已知的函数依赖集合F,找出F逻辑蕴涵的所有函数依赖集合呢?这就是我们下面要讨论的问题。F的闭包F+:设F为一个函数依赖集,F的闭包是指F逻辑蕴涵的所有函数依赖集合。 F的闭包记作F+。例如,给定关系模式R(A,B,C,G,H,I),函数依赖集合F=AB,AC,CGH,CGI,BH。可以证明函数依赖AH被F逻辑蕴涵。设有元组s和t,满足sA=tA,根据函数依赖的定义,由已知的AB,可以推出sB=tB。又根据函数依赖BH,可以有sH=tH。因此,已经证明对任意的两个元组s和t,只要有sA=tA,就有sH=tH。所以,函数依赖AH被F逻辑蕴涵。计算F的闭包F+,可以由函数依赖的定义直接计算,如上面的示例。但是,当F很大时,计算的过程会很长。为了从已知的函数依赖推导出其它函数依赖,Armstrong 提出了一套推理规则,称为Armstrong 公理 ,通过反复使用这些规则,可以找出给定F的闭包F+。其推理规则可归结为如下3条:自反律(reflexivity)、增广律(augmentation)和 传递律(transitivity)。 3Armstrong 公理 设U为属性总体集合,F为U上的一组函数依赖,对于关系模式R(U,F),X、Y、Z为属性U的子集,有下列推理规则:A1:自反律(reflexivity)若Y X U,则XY为F所蕴函。A2:增广律(augmentation)若XY为F所蕴函,且Z是U的子集,则XZYZ为F所蕴函。式中XZ和YZ是XZ 和 YZ的简写。A3:传递律(transitivity)若XY、YZ为F所蕴函,则XZ为F所蕴函。由自反律所得到的函数依赖都是平凡的函数依赖,自反律的使用并不依赖于F,而只依赖于属性集U。Armstrong公理是有效的和完备的。可以利用该公理系统推导F的闭包F+。由于利用Armstrong公理直接计算F+很麻烦。根据A1, A2, A3这三条推理规则还可以得到其他规则,用于简化计算F+的工作。如下面扩展的三条推理规则:合并规则: 由XY, XZ, 有XYZ伪传递规则: 由XY, WYZ, 有XWZ分解规则: 由XYZ, 则有XZ,XYArmstrong公理可以有多种表示形式,例如,增广律A2可以用合并规则代替。例如,用自反律A1,传递律A3和合并规则可推导出增广律A2。证明:XZ X (A1:自反律)X Y (给定条件)XZ Y (A3:传递律)XZ Z (A1:自反律)XZ YZ (合并规则)4属性集的闭包原则上讲,对于一个关系模式R(U,F),根据已知的函数依赖F,反复使用前面的规则,可以计算函数依赖集合F的闭包F+。但是,利用推理规则求出其全部的函数依赖F+是非常困难的,而且也没有必要。因此,可以计算闭包的子集,即选择一个属性子集,判断该属性子集能函数决定哪些属性,这就是利用属性集闭包的概念。 (1)属性集闭包的定义设F为属性集U上的函数依赖集,XU,即X为U的一个子集。在函数依赖集F下被X函数决定的所有属性为F+下属性集X的闭包,记作X+。即X+ A| XA 。(2)计算属性集闭包X+的算法如下:输入:X,F输出: X+ 迭代算法的步骤: 选取X+的初始值为X ,即X+X; 计算X+, X+XZ ,其中Z要满足如下条件:YX+,且F中存在一函数依赖YZ。实际上就是以X+中的属性子集作为函数依赖的决定因素,在F中搜索函数依赖集,找到函数依赖的被决定属性Z放到X+中。 判断:如果X+没有变化?或X+等于U?则X+就是所求的结果,算法终止。否则转。因为U是有穷的,所以上述迭代过程经过有限步骤之后就会终止。例如,已知关系模式R(U,F),U=A,B,C,D,E,G,F=ABC,DEG,CA,BEC,BCD,ACB,CEAG,求(BD)+ 解: (BD)+ = BD; 计算(BD)+ ,在F中扫描函数依赖,其左边为B,D或BD的函数依赖,得到一个DEG。所以,(BD)+= BDEG。 计算(BD)+,在F中查找左部为BDEG的所有函数依赖,有两个:DEG和BEC。所以(BD)+(BD)EGC=BCDEG。 计算(BD)+,在F中查找左部为BCDEG子集的函数依赖,除去已经找过的以外,还有三个新的函数依赖:CA,BCD,CEAG。得到(BD)+(BD)ADGABCDEG。 判断(BD)+=U,算法结束。得到(BD)+ABCDEG。说明:上面说明(B,D)是该关系模式的一个候选码。5. Armstrong公理系统的有效性和完备性Armstron

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论