第4章(讲3数据依赖公理系统)DataBase关系数据理论(免费阅读).ppt

第4章(讲3数据依赖公理系统)DataBase关系数据理论(免费阅读).ppt

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Database System 第四章 关系数据理论 4.1 问题提出 4.2 规范化 4.3 数据依赖的公理系统 4.4 模式的分解 4.3 数据依赖的公理系统 逻辑蕴含 定义4.11 对于满足一组函数依赖 F 的关系模式R U,F,其任何一个关系r,若函数依赖X→Y都成立, 则称: F逻辑蕴含X →Y,记作:F |= X →Y 那么如何判定F都蕴涵了哪些FD呢?用一组推导规则从F上进行推导是方便的,引出“Armstrong”公理。 Armstrong公理系统 一套推理规则,是模式分解算法的理论基础 用途 求给定关系模式的候选码 从一组函数依赖求得蕴含的函数依赖 1. Armstrong公理系统 关系模式R U,F 来说有以下的推理规则: Al.自反律(Reflexivity): 若Y ? X ? U,则X →Y为F所蕴含。 A2.增广律(Augmentation):若X→Y为F所蕴含,且Z ? U,则XZ→YZ为F所蕴含。 A3.传递律(Transitivity):若X→Y及Y→Z为F所蕴含,则X→Z为F所蕴含。 注意:由自反律所得到的函数依赖均是平凡的函数依赖,自反律的使用并不依赖于F (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成立. 自反律得证 (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所蕴含. 增广律得证。 (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) 2.根据合并规则和分解规则,可得引理4.1 引理4.l X→A1 A2…Ak成立的充分必要条件是X→Ai成立(i=l,2,…,k)。 3. 函数依赖闭包 定义4.l2 在关系模式RU,F中为F所逻辑蕴含的函数依赖的全体叫作 F的闭包,记为F +。 用Armstrong公理及其推论可以从F上推导出很多FD,但在实际问题中我们只对某个属性或属性组所决定的FD感兴趣(例如判断候选码),引出XF+ 。 定义4.13 设F为属性集U上的一组函数依赖,X ?U, XF+ ={ A|X→A能由F 根据Armstrong公理导出},XF+称为属性集X关于函数依赖集F 的属性闭包。 关于闭包的引理 引理4.2 设F为属性集U上的一组函数依赖,X,Y ? U,X→Y能由F 根据Armstrong公理导出的充分必要条件是Y ?XF+ 用途 将判定X→Y是否能由F根据Armstrong公理导出的问题转化为求出XF+ ,判定Y是否为XF+的子集的问题。 求闭包的算法 算法4.l 求属性集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)步。 对于算法4.l, 令ai =|X(i)|,{ai }形成一个步长大于1的严格递增的序列,序列的上界是 | U |,因此该算法最多

文档评论(0)

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

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

1亿VIP精品文档

相关文档