第09篇 关系理论2nd.ppt

  1. 1、本文档共111页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 关系数据理论 9.1 基本概念 9.2 函数依赖的公理系统 9.3 规范化 9.4 模式分解 9.1 基本概念 函数依赖 术语和符号 为什么要讨论函数依赖? 模式分解 函数依赖 例:对仓库关系 仓库(仓库号,城市,面积) 有函数依赖: 函数依赖的严格形式化定义 定义9.1:设有关系模式R(A1,A2,…,An),X和Y均为{A1,A2,…,An}的子集,r是R的任一具体关系,t1、t2是r中的任意两个元组;如果由t1[X]=t2[X]可以推导出t1[Y]=t2[Y],则称X函数决定Y,或Y函数依赖于X,记为X→Y。 术语和符号(1) 术语和符号(5) 术语和符号(6) 术语和符号(8) 设有库存关系: 数据冗余问题 数据更新问题 数据插入问题 数据删除问题 为什么会出现以上种种操作异常现象呢? 因为这个关系模式没有设计好,在它的某些属性之间存在着“不良”的函数依赖。如何改造这个关系模式?克服以上种种问题,就是我们这一章要解决的根本问题,也是我们要讨论函数依赖的根本原因。 模式分解 解决各种操作异常现象的方法就是进行模式分解,即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得好的关系模式。 分解举例   仓库(仓库号,地点)   设备(设备号,设备名)   库存(仓库号,设备号,库存数量) 注意: 模式分解不能破坏原来的语义; 模式分解必须遵守: 无损连接分解; 保持函数依赖分解。 函数依赖的公理系统 Amstrong公理的内容及正确性 Amstrong公理的推论 逻辑蕴涵和闭包 公理的完备性 闭包的计算 函数依赖集的等价和最小化 Amstrong公理: 设有关系模式R(U,F),X、Y、Z均为U的子集,推理规则如下: ①自反律:如果Y?X,则X→Y; ②增广律:如果X→Y,则XZ→YZ; ③传递律:如果X→Y、Y→Z,则X→Z 。 定理9.1:Amstrong公理是正确的。 证明自反律: 设Y?X ? U 对关系模式R的任一关系 r 中的任意两个元组t和s,如果t[X]=s[X],由于Y ? X,所以t[Y]=s[Y],由定义9.1有X→Y成立,自反律得证。 证明增广律: 设X→Y,且Z?U,r、t、s的含义同上 如果t[XZ]=s[XZ],则一定有   t[X]=s[X]和t[Z]=s[Z] 又根据X→Y可有t[Y]=s[Y] 由t[Y]=s[Y]和t[Z]=s[Z]可得t[YZ]=s[YZ] 即由t[XZ]=s[XZ]推导出了t[YZ]=s[YZ] 由定义9.1有XZ→YZ成立,增广律得证。 证明传递律: 设X→Y、Y→Z,r、t、s的含义同上 如果t[X]=s[X],由于X→Y,根据定义9.1可得t[Y]=s[Y] 同理由于Y→Z,可得t[Z]=s[Z] 即由t[X]=s[X]推导出了t[Z]=s[Z] 根据定义9.1 X→Z成立,传递律得证。 Amstrong公理的推论: 推论①-合并规则:如果X→Y、X→Z,则X→YZ; 推论②-分解规则:如果X→YZ,则X→Y、X→Z; 推论③-伪传递规则:如果X→Y、YW→Z,则XW→Z。 定理9.2:Amstrong公理的三个推论是正确的。 证明合并规则: 设X→Y、X→Z 根据增广律分别有X→XY、XY→YZ 又根据传递律有X→YZ,合并规则得证。 证明分解规则: 设X→YZ 根据自反律有YZ→Y和YZ→Z 又根据传递律分别有X→Y和X→Z,分解规则得证。 证明伪传递规则: 设X→Y、YW→Z 根据增广律有XW→YW 又根据传递律有XW→Z,伪传递规则得证。 引理9.1 引理9.1:X→A1A2…An的充分必要条件是X→Ak成立(k=1,2,…,n)。 逻辑蕴涵和闭包 逻辑蕴涵 闭包 闭包计算举例 属性集闭包 计算属性集闭包举例 公理的完备性 引理9.2 引理9.2充分性证明: 引理9.2必要性证明: 公理的完备性还可以理解为: 所有不能用公理推导出的函数依赖都不为真,即如果X→Y不能根据F用公理导出,则X→Y? F+ 。或者说存在一个具体的关系r,F+ 中的所有函数依赖都满足r,而不能用公理推导出的X→Y不满足r。也就是说,不能根据F用公理导出的函数依赖不属于F+ 。如果我们能够找到这样的r,则公理的完备性证明问题就解决了。 定理9.3:Amstrong公理是完备的。 证:在关系r中,F+ 中的所有函数依赖都成立 证:在关系r中,不能根据F用Amstrong公理推导出的函数依赖X→Y不成

文档评论(0)

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

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

1亿VIP精品文档

相关文档