关系数据理论及求精.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 无损连接分解 DE?C A B C D E AD a1 b12 b13 a4 b15 AB a1 a2 b13 a4 b25 BE b31 a2 a3 a4 a5 CDE b41 b42 a3 a4 a5 AE a1 b52 a3 a4 a5 CE?A A B C D E AD a1 b12 b13 a4 b15 AB a1 a2 b13 a4 b25 BE a1 a2 a3 a4 a5 CDE a1 b42 a3 a4 a5 AE a1 b52 a3 a4 a5 示例二:U={A,B,C,D,E}, F={A?C, B?C, C?D,DE?C ,CE?A} ? ={(A, D), (A, B), (B, E), (C, D, E), (A, E)} * 无损连接分解 无损连接分解 定义(分解为两个关系模式) 关系模式R(U),U1,U2 ?U,U1?U2=U,r是R上的一个关系,r1=∏U1(r),r2=∏U2(r),若r = r1 r2,则称(r1 , r2)是r的一个无损连接分解。 注:r ?∏U1(r) ∏U2(r) R(A, B, C) A B C 1 1 2 2 2 1 A B 1 1 2 2 B C 1 2 2 1 A B C 1 1 2 2 2 1 ∏AB(R) ∏BC(R) ∏AB(R) ∏BC(R) * 无损连接分解 定理 关系模式R(U)的分解?={R1,R2},则?是一个无损连接分解的充要条件是 R1∩R2?R1?R2(或R1∩R2?R2?R1)成立 R1∩R2 R1?R2 R2?R1 R1 a…a a…a b…b R2 a…a b…b a…a R1∩R2 R1?R2 R2?R1 R1 a…a a…a b…b R2 a…a a…a a…a R1∩R2?R1?R2 * 无损连接分解-例题 R=ABC, F={A ? B}, ?1={R1(AB), R2(AC)} 是否是无损连接分解? R1∩R2 = A, R1-R2 = B 由A ? B ,得到?1是无损连接分解 ?2={R1(AB), R2(BC)}是否是无损连接分解? R1∩R2 = B, R1-R2 = A, R2-R1 = C B?A, B?C均不成立,所以?2不是无损连接分解 无损连接分解判断方法 定义5.13 给定关系模式r(R)及函数依赖集F,则将r(R)分解成r1(R1)、r2(R2)的分解是无损连接分解,当且仅当F+包含函数依赖R1?R2→R1或R1?R2→R2. 即:在F下,R1 ? (R1?R2)+ 或 R2 ? (R1?R2)+。 因此,当一个关系模式分解为两个关系模式时,该分解为无损连接分解的充要条件是两分解关系的公共属性包含r1(R1)的码 或 r2(R2)的码。 即: R1?R2 是关系 r1(R1) 或 r2(R2) 的超码。 无损连接分解判断举例 [例5.14] 假设关系模式r(R)=r(A, B, C, D, E), F ={A?BC, CD?E, B?D, E?A},则可将r(R)进行两种不同的分解: 分解1:r1(R1)=r1(A, B, C),r2(R2)=r2(A, D, E); 分解2:r1(R1)=r1(A, B, C),r2(R2)=r2(C, D, E)。 对于分解1,R1?R2=A,且A?R1,故此分解是无损连接分解。 而对于分解2,R1?R2=C,且C→R1、C→R2,故此分解不是无损连接分解。 保持依赖分解 关系数据库模式分解的另一个目标是保持依赖。 定义5.14 给定关系模式r(R)及函数依赖集F,r1(R1), r2(R2), ..., rn(Rn)为r(R)的分解。F在Ri的投影为闭包F+中所有只包含Ri属性的函数依赖的集合,记为Fi。即如果???在Fi中,则?和?的所有属性均在Ri中。 定义5.15 称具有函数依赖集F的关系模式r(R)的分解r1(R1), r2(R2), ..., rn(Rn)为保持依赖分解,当且仅当(F1?F2?…?Fn)+=F+。 保持依赖分解判断举例 [例5.15] 设关系模式r(R)=r(A, B, C),F ={A?B, B?C},有两种分解: r1(R1)=r1(A, B)、r2(R2) =r2(B, C) F1={A?B}、F2={B?C} 该分解保持函数依赖,因为 (F1?F2)+=F+。 r1(R1)=r1(A, B)、r2(R2) =r2(A, C)。 F1={A?B}、F2={A→C} (注:{A→C} ?F+) 该分解不保持函数依赖。因为分解后函数依赖 B?C被丢失。 目 录 范式 5.4 问题提出 5.1 函数依赖定义 5.2 函数依赖理论 5.3 数据库模式求精

文档评论(0)

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

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

1亿VIP精品文档

相关文档