- 1、本文档共91页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 关系数据理论(简化版)
* 6.4 模式的分解 例:R(sno,sd,mn) F={sno→sd,sd→mn} 语义:学生sno在sd系学习,系主任是mn 由于模式存在传递FD,可分解为: R1(sno,sd)和R2(sno,mn) 分解后的关系可通过自然连接恢复成原关系,是无损连接分解。但分解后的模式未解决原有的异常,sd→mn在R1和R2中都不存在,因此分解时还要求保持FD。 * 6.4 模式的分解 例:R(A,B,C) F={A→B,B→C} 实例r A B C a1 b1 c1 a2 b1 c1 a3 b2 c1 将R进行如下分解,分析出现的问题: 分解为{AB},{AC} 分解为{AB},{BC} 分解为{AC},{BC} A B a1 b1 a2 b1 a3 b2 A C a1 c1 a2 c1 a3 c2 B C b1 c1 b2 c1 A C a1 c1 a2 c1 a3 c1 * 6.4 模式的分解 分解为{AB},{AC} 无损联接,但B→C不保持 分解为{AB},{BC} 无损联接且保持依赖 分解为{AC},{BC} 有损联接且A→B不保持 由此可知,在实际的模式分解中,无损分解或保持依赖均不宜做为独立原则。 * 6.4 模式的分解 关系模式分解的定义: R(U,F),由ρ={R1(U1F1),R2(U2F2)…Rk(UkFk)}代替R,则成ρ为一个分解。其中,Ui的并集是U,且Ui≠Uj,Fi是F在Ui上的投影 Fi={X→Y|X→Y∈F+ ,XY?Ui}, 记为Fi=πui(F) * 6.4 模式的分解 一、无损连接 定义:若R分解为ρ={R1,R2…Rk},F是R上的FD集,若对于R中满足F的每个关系r都有下式成立: r=πR1(r)∞πR2(r)∞…πRk(r)=mρ(r)。则称分解ρ相对于F是无损连接分解 简称“无损分解”。 * 6.4 模式的分解 有关记号: ①πRi(r):关系r在模式Ri属性Ui的投影 ② mρ(r):r的投影连接mρ(r)=∞πRi(r),称为r在ρ中各关系模式上投影的连接 r和mρ(r)不一定相等,但有如下性质: * 6.4 模式的分解 算法:检验一个分解的无损连接性 设ρ={R1(U1F1)…Rk(UkFk)}是R的分解U={A1…An} F为最小集 输入:R,F,ρ 输出:ρ的无损连接情况(True/False) 步骤:① 构造一张k行n列的表格,k为分解模式的个数,n为R中属性个数。若Aj∈Ui,则表格的第i行j列处填aj,否则填bij。 * 6.4 模式的分解 算法:检验分解的无损连接性(接上页) 步骤:② 反复检查F中的每个FD,修改表中元素,直到表格不能修改为止。 ③ 若修改后的表格中有一行全是a符号,则ρ相当于F是无损连接分解。 * 6.4 模式的分解 只有两个子模式的分解,可用定理检验 《定理》:R(U,F)的分解ρ={R1(U1F1),R2(U2F2)}是无损连接分解的充要条件:U1∩U2→U1-U2∈F+ 或 U1∩U2→U2-U1∈F+ 证明:利用“表格检验法” * 6.4 模式的分解 例1:R(cno,tn,d) F={cno→tn,tn→d} ρ={R1(cno,tn),R2(tn,d)},判断是否无损分解。 解:U1={cno,tn} U2={tn,d} 则U1∩U2={tn} U1-U2={cno} U2-U1={d} ∵ tn→d∈F, ∴ U1∩U2→U2-U1 ∴ρ为无损分解。 * 6.4 模式的分解 例2:R(A,B,C) F={A→B} ρ1={R1(AB),R2(AC)} ρ2={R1(AB),R2(BC)} 判断无损连接性 解:1) U1∩U2=A U1-U2=B U2-U1=C ∵ A→B,即U1∩U2→U1-U2成立 ∴ρ1是无损分解 2) U1∩U2=B U1-U2=A U2-U1=C ∵ B→A、B→C均不成立, ∴ρ2不是无损分解 * 6.4 模式的分解 例3:R(A,B,C) F={A→B,C→B} ρ1={AB,BC} ρ2={AC,BC} ρ3={AC,AB} 判断是否无损分解 解: ρ1是有损分解;ρ2无损;ρ3无损 * 二、保持函数依赖 定义:若F+是Fi+(i=1 … k)的并集,即二者等价,则R的分解ρ保持FD。 例:R(wno,ws,wg) F={wno→ws,ws→wg} ρ={R1(wno,ws),R2(wno,wg)}
文档评论(0)