网站大量收购独家精品文档,联系QQ:2885784924

第_6_章_关系据理论(新).ppt

  1. 1、本文档共120页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
APWeb/WAIM2007 Huang Shan 2007-6-16 * APWeb/WAIM2007 Huang Shan 2007-6-16 * 定理 6.1 Armstrong推理规则是正确的 (l)自反律: 若Y ? X ? U,则X →Y为F所蕴含 证: 设Y ? X ? U 对R U,F 的任一关系r中的任意两个元组t,s: 若t[X]=s[X],由于Y ? X,有t[y]=s[y], 所以X→Y成立,自反律得证 定理 6.l Armstrong推理规则是正确的(续) (2)增广律: 若X→Y为F所蕴含,且Z ? U,则XZ→YZ 为F所蕴含。 证:设X→Y为F所蕴含,且Z ? U。 设RU,F 的任一关系r中任意的两个元组t,s: 若t[XZ]=s[XZ],则有t[X]=s[X]和t[Z]=s[Z]; 由X→Y,于是有t[Y]=s[Y],所以t[YZ]=s[YZ],所以 XZ→YZ为F所蕴含,增广律得证。 定理 6.l Armstrong推理规则是正确的(续) (3) 传递律:若X→Y及Y→Z为F所蕴含,则 X→Z为 F所蕴含。 证:设X→Y及Y→Z为F所蕴含。 对RU,F 的任一关系 r中的任意两个元组 t,s: 若t[X]=s[X],由于X→Y,有 t[Y]=s[Y]; 再由Y→Z,有t[Z]=s[Z],所以X→Z为F所蕴含,传递律得证。 2. 导出规则 1.根据A1,A2,A3这三条推理规则可以得到下面三条推理规则: 合并规则:由X→Y,X→Z,有X→YZ。 (A2, A3) 伪传递规则:由X→Y,WY→Z,有XW→Z。 (A2, A3) 分解规则:由X→Y及 Z?Y,有X→Z。 (A1, A3) XX→YX,YX→YZ WX→WY,WY→Z X→Y,Y→Z 导出规则 2.根据合并规则和分解规则,可得引理6.1 引理6.l X→A1 A2…Ak成立的充分必要条件是X→Ai成立(i=l,2,…,k) Armstrong公理系统 自反律、增广律和传递律称为Armstrong公理系统。 Armstrong公理系统是有效的、完备的 有效性:由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F+中; 完备性:F+中的每一个函数依赖,必定可以由F出发根据Armstrong公理推导出来 3. 函数依赖闭包 定义6.l2 在关系模式RU,F中为F所逻辑蕴含的函数依赖的全体叫作 F的闭包,记为F+。 定义6.13 设F为属性集U上的一组函数依赖,X ?U, XF+ ={ A|X→A能由F 根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F 的闭包 F的闭包 F={X?Y, Y?Z} F+={ X?φ, Y?φ, Z?φ, XY?φ, XZ?φ, YZ?φ, XYZ?φ, X?X, Y?Y, Z?Z, XY?X, XZ?X, YZ?Y, XYZ?X, X?Y, Y ?Z, XY?Y, XZ?Y, YZ?Z, XYZ?Y, X?Z, Y?YZ, XY?Z, XZ?Z, YZ?YZ,XYZ?Z, X?XY, XY?XY,XZ?XY, XYZ?XY, X?XZ, XY?YZ,XZ?XZ, XYZ?YZ, X?YZ, XY?XZ,XZ?XY, XYZ?XZ, X?ZYZ, XY?XYZ,XZ?XYZ, XYZ?XYZ } F={X?A1, …… , X?An}的闭包F+计算是一个NP完全问题 难解问题:如果一个问题无法在多项式时间内被确定性图灵机解决,则成为难解问题。 NP完全问题:就是直观上难解可是又找不出方法来证明他们的确难解的计算机问题。 关于闭包的引理 引理6.2 设F为属性集U上的一组函数依赖,X,Y ? U,X→Y能由F 根据Armstrong公理导出的充分必要条件是Y ?XF+ 用途 将判定X→Y是否能由F根据Armstrong公理导出的问题,转化为求出XF+ 、判定Y是否为XF+的子集的问题 求闭包的算法 算法6.1 求属性集X(X ? U)关于U上的函数依赖集 F 的闭包XF+ 输入:X,F 输出:XF+ 步骤: (1)令X(0)=X,i=0 (2)求B,这里B = { A |(? V)( ? W)(V ? X(i) ∧ V→W?F∧A? W)}; (3)X(i+1)=B∪X(i) (4)判断X(i+1)= X (i)吗? (5)若相等或X(i)=U , 则X(i)就是XF+ , 算法终止。 (6)若否,则 i=i+l,返回第(2)步。 算法6.1分析

文档评论(0)

155****8706 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档