规范化无损分解及保持函数依赖重点讲述.ppt

规范化无损分解及保持函数依赖重点讲述.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设R是一个关系模式,F是R上的一个FD集。R分解成数据库模式 。如果对R中满足F的每一个关系r,都有 那么称ρ相对于F是“无损分解”,否则称“损失分解”。 R=∏R1(r) ∏R2(r) …… ∏Rk(r) 无损分解 (1)构建一张k行n列的表格,每列对应一个属性 ,每行对应一个模式 。如果 在 中,那么在表格的第i行第j列处填上符号 ,否则填上 。 关系模式 ,F是R上成立的函数依赖集, 是R的一个分解。判断ρ相对于F是否具有无损分解特征。 例:设关系模式R(ABCD),R分解成 。如果R上成立的函数依赖集 ,那么ρ相对于 是否无损分解?如果R上成立的函数依赖集 呢? A B C D AB BC CD 无损分解的测试方法 (2)把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的值。修改方法如下: 对于F中一个FD ,如果表格中有两行在X值上相等,在Y值上不相等,那么把这两行在Y值上也改成相等的值。如果Y值中有一个是 ,那么另一个也改成 ;如果没有 ,那么用其中一个 替换另一个值(尽量把下标ij改成较小的数)。一直到表格不能修改为止。 A B C D AB BC CD (3)若修改的最后一张表格中有一行全是a,即 ,那么称ρ相对于F 是无损分解,否则称有损分解。 所以相对与 ,R分解成ρ是无损分解。 无损分解的测试方法 相对于 ,Chase过程如下: A B C D AB BC CD A B C D AB BC CD 此时表格(b)中没有一行是全a行,因此相对于 ,R分解成ρ是损失分解。 (a) (b) 无损分解的测试方法 定义:设F是属性集U上的FD集,Z是U的子集,F在Z上的投影用 表示,定义为: 定义:设 是R的一个分解,F是R上的FD集,如果有 ,那么称分解ρ为保持函数依赖集F。 保持函数依赖情况有: 保持函数依赖的分解 具有无损连接性的模式分解 关系模式RU,F的一个分解 ρ={ R1U1,F1,R2U2,F2, …,RnUn,Fn} 若R与R1、R2、…、Rn自然连接的结果相等,则称关系模式R的这个分解ρ具有无损连接性(Lossless join) 具有无损连接性的分解保证不丢失信息 无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题 保持函数依赖的模式分解 设关系模式RU,F被分解为若干个关系模式 R1U1,F1,R2U2,F2,…,RnUn,Fn (其中U=U1∪U2∪…∪Un,且不存在Ui ? Uj,Fi为F在Ui上的投影),若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的(Preserve dependency) 模式设计 数据等价 依赖等价 无损分解 依赖闭包相等 例:关系模式R(ABC), 是R的一个分解。试分析分别在 情况下,ρ是否具有无损分解和保持FD的分解特性。 模式分解与模式等价问题 分解成3NF模式集既无损又保持函数依赖的方法 对于关系模式R和R上成立的FD集F,先求出F的最小依赖集,然后再把最小依赖集中那些左部相同的FD用合并性合并起来。 对最小依赖集中每个FD X→Y去构成一个模式XY。 在构成的模式集中,如果每个模式都不包含R的候选键,那么把候选键作为一个模式放入模式集中。 设关系模式R(ABCDE),R的最小依赖集为{A→B,C→D}.从依赖集可知R的候选键ACE。

文档评论(0)

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

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

1亿VIP精品文档

相关文档