- 1、本文档共103页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PowerPoint Template 第5章 关系数据理论 Click to edit company slogan . 5.3 数据依赖的推理规则 5.3.1 F逻辑蕴含 1. F逻辑蕴含的定义: 对于满足一组函数依赖F的关系模式R(U,F),对于任一关系r,若函数依赖X→Y都成立,则称F逻辑蕴含X→Y,记作:F|= X→Y。 从一组已知的函数依赖求得蕴含的所有的函数依赖,用到了Armstrong公理系统。 数据依赖的公理系统 5.3 2. Armstrong公理系统的回顾 F逻辑蕴含 5.3.1 分解规则: X→Y, Z?Y ,则 X→Z A1 自反律: Y?X?U 则X→Y A2 增广律: X→Y ,Z ? U,则 XZ→YZ A3 传递律: X→Y ,Y→Z ,则 X→Z 合并规则: X→Y ,X→Z ,则X→YZ 伪传递规则: X→Y,W Y→Z ,则 WX→Z 5.3.2 F的闭包 1. F闭包的定义 被F逻辑蕴含的FD的全体构成的集合称为FD集F的闭包, 记作: F+ F+ ={X→Y | F |=X→Y} 例5-16:R(ABC) F={ A→B,B→C} 求F+ 。 5.3.2 F的闭包 5.3.2 F的闭包 解: A→? A→A A→B A→C A→AB A→AC A→BC A→ABC B→? B→B B→C B→BC C→? C→C AB→? AB→A AB→B AB→AB AB→AC AB→BC AB→C AB→ABC AC→? AC→AC AC→A AC→C AC→B AB→BC AC→AB AC→ABC BC→? BC→BC BC→B BC→C ABC→? ABC→A ABC→B ABC→C ABC→AB ABC→BC ABC→AC ABC→ABC ?→? 共43个FD F={ A→B,B→C} 2. 求F+ 的意义 设关系模式R(U,F),X是U的子集,如果X→U在F+ 。那么称X是R的一个超键,如果X的任一真子集 X’ →U都不在F+ 中,那么称X是R的一个候选键。 上例中,AB,AC,ABC是超键,A是候选键。 在实际应用中,从F求F+ 是一个NP完全问题(指数级问题),下面引进属性闭包的概念,将使该问题转化为多项式级时间(与全部FD的数目相关)问题。 5.3.2 F的闭包 6.3.3 属性集的闭包 5.3.3 属性集的闭包 1. 属性集的闭包定义 设F是属性组U的FDS,X是U的子集,那么(对F)属性集X的闭包,用XF+ 表示,它是 一个从F集使用FD的推理规则推出的所有满足 X→A的属性A的集合, XF+={属性A|X→A在F+ 中} 2. 求属性集X相对于FD集F的闭包的算法。 输入:属性集U,U上FD集F,X ?U 输出:X相对于FD集F的闭包X+ 。 方法: result:=X repeat for F中的每一个FD Y →Z do if Y ? result then result:= result U Z; until(result没有改变); result即所求的X+ 。 5.3.3 属性集的闭包 5.3.3 属性集的闭包 例5-17:R(AB) F={A→B,B→C},求所有属性子集的属性闭包。 ∵A→B ∵B→C ∴A+ ={ABC} ∵B→C A+ B+ ∴B+ ={BC} ∴ C+ ={C} (AB)+ ∵B→C ∴(AB)+ ={ABC} (AC)+ ∵A→B ∴ (AC)+ ={ABC} ∴ (BC)+ ={BC} ∴ (ABC)+ ={ABC} A+B + C+(AB)+(BC)+(AC)+(ABC)+ (BC)+ C+ (ABC)+ 得到一个引理: X→Y能用FD推理规则推出的充分必要条件是Y?X+ 。(任意X→Y,Y必会在X+) 3.求属性闭包的意义 从属性闭包求F的闭包容易。 X的闭包是所有属性U,则X是超键;如果X的任一真子集 X’ 的闭包不是所有属性U,则X是键。 5.3.3 属性集的闭包 上例5-17:R(AB) F={A→B,B→C},通过求所有属性子集的属性闭包,判断出码。在实际应用中对于属性的子集有2n-1个。 下面通过一些定理推论可以快速求键。 4. 属性分4类 在关系模式R(U,F)中,可以将属性分为4类: L类:仅出现在F的函数依赖左部的属性 R类:仅出现在F的函数依赖右部的属性 LR类:在F的函数依赖左右两边都出现的属性 N类:在F的函
文档评论(0)