数据库第6章范例.ppt

  1. 1、本文档共121页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉科技大学 陈彬 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完全问题 武汉科技大学 陈彬 关于闭包的引理 引理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→W?F∧V ? X(i)∧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 对于算法6.1, 令ai =|X(i)|,{ai }形成一个步长大于1的严格递增的序列,序列的上界是 | U |,因此该算法最多 |U| - |X| 次循环就 会终止。 武汉科技大学 陈彬 函数依赖闭包 [例1] 已知关系模式RU,F,其中 U={A,B,C,D,E}; F={AB→C,B→D,C→E,EC→B,AC→B}。 求(AB)F+ 。 解 设X(0)=AB; (1) X(1)=AB∪CD=ABCD。 (2) X(0)≠ X(1) X(2)=X(1)∪BE=ABCDE。 (3) X(2)=U,算法终止 ?(AB)F+ =ABCDE。 武汉科技大学 陈彬 4. Armstrong公理系统的有效性与完备性 定理6.2 Armstrong公理系统是有效的、完备的 证明: 1. 有效性 可由定理6.1得证 2. 完备性 只需证明逆否命题: 若函数依赖X→Y不能由F从Armstrong公理导出,那么它必然不为F所蕴含 武汉科技大学 陈彬 Armstrong公理系统完备性证明 (1) 引理: 若V→W成立,且V ? XF+,则W ? XF+ (2) 构造一张二维表r,它由下列两个元组构成,可以证明r必是R(U,F)的一个关系,即F+中的全部函数依赖在 r上成立。 XF+ U-XF+ 11......1 00......0 ? 11......1 11......1 ? (3) 若X→Y 不能由F从Armstrong公理导出,则Y 不是XF+ 的子集。 武汉科技大学 陈彬 5. 函数依赖集等价 定义6.14 如果G+=F+,就说函数依赖集F覆盖G(F是G的覆盖,或G是F的覆盖),或F与G等价。 引理6.3 F+ = G+ 的充分必要条件是F ? G+ ,和G ? F+ 证: 必要性显然,只证充分性。 (1)若F?G+ ,则XF+ ? XG++ 。 (2)任取X→Y?F+ 则有 Y ? XF+ ? XG++ 。 所以X→Y ? (G+)+= G+。即F+ ? G+。 (3)同理可证G+ ? F+ ,所以F+ = G+。 武汉科技大学

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档