资源描述:
《第6章(3)关系数据理论--模式分解.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、*6.4模式的分解复习:例SL(Sno,Sdept,Sloc)F={Sno→Sdept,Sdept→Sloc}SL∈2NF1.存在问题:插入异常、删除异常、冗余度大和修改复杂2.问题解决:分解ND(Sno,Sdept)F1={Sno→Sdept}DL(Sdept,Sloc)F2={Sdept→Sloc}3.把低一级的关系模式分解为若干个高一级的关系模式的方法并不是唯一的。为什么要这样分解?10/4/2021模式的分解—主要内容目的:把一个关系模式按要求正确分解到一定的级别概念:分解;无损分解;投影;无损连接性;保持函数依赖算法:判断保持函数依
2、赖不变方法判别一个分解的无损连接性(①算法6.2;②定理6.5)转换为2NF既有无损连接性又保持函数依赖的分解转换为3NF既有无损连接性又保持函数依赖的分解(算法6.4)转换为BCNF的无损连接分解(算法6.5)10/4/2021一、模式分解概念定义6.16关系模式R的一个分解:ρ={R1,R2,…,Rn}U=U1∪U2∪…∪Un,且不存在UiUj,Fi为F在Ui上的投影。定义6.17函数依赖集合{X→Y
3、X→YF+∧XYUi}的一个覆盖Fi叫作F在属性Ui上的投影。例1:R(ABCD
4、),F={A→B,B→C,C→D},ρ={AB,ACD}F1=?,F2=?上例:F1={A→B},F2={A→C,C→D}10/4/2021二、几种模式分解方法例2:SL(Sno,Sdept,Sloc)F={Sno→Sdept,Sdept→Sloc}───────────────SnoSdeptSloc─────────────95001CSA95002ISB95003MAC95004ISB95005PHB───────────────10/4/2021第一种分解方法1.SL分解为三个关系模式:ρ={SN,SD
5、,SO}SN──────SD──────SO──────SnoSdeptSloc──────────────────95001CSA95002ISB95003MAC95004PH─────95005────────────分解后的关系为:分解后丢失了许多信息.如:无法查询95001学生所在系或所在宿舍。分解后的关系若可通过自然连接恢复为原来的关系,那么这种分解就没有丢失信息.。10/4/2021第二种分解方法分解后的关系为:NL────────────DL────────────SnoSlocSdeptSloc────────
6、────────────────95001ACSA95002BISB95003CMAC95004BPHB95005B──────────────────────2.SL分解为下面二个关系模式:ρ={NL<(Sno,Sloc),{Sno→Sloc}>,DL<(Sdept,Sloc),Sdept→Sloc>}10/4/2021第二种分解方法(续)NLDL────────────SnoSlocSdept────────────95001ACS95002BIS95002BPH95003CMA95004BIS95004BPH95005BIS95005B
7、PH元组增加了,信息丢失了──────────10/4/2021第三种分解方法3.将SL分解为下面二个关系模式:ρ={ND<(Sno,Sdept),{Sno→Sdept}>,NL<(Sno,Sloc),{Sno→Sloc>}分解后的关系为:ND────────────NL──────────SnoSdeptSnoSloc──────────────────────95001CS95001A95002IS95002B95003MA95003C95004IS95004B95005PH95005B───────────────────────10/
8、4/2021第三种分解方法(续)NDNL──────────────SnoSdeptSloc──────────────95001CSA95002ISB95003MAC95004CSA95005PHB──────────────与SL关系一样,因此没有丢失信息10/4/2021具有无损连接性的模式分解R的一个分解ρ={R1,…,Rn}若R与R1、R2、…、Rn自然连接的结果相等,则称R的这个分解ρ具有无损连接性(Losslessjoin)具有无损连接性的分解保证不丢失信息显然,第三种分解方法具有无损连接性
9、无损连接性能否解决插入异常、删除异常、修改复杂、数据冗余等问题?不能。原因:分解没有保持原关系中的函数依赖。SL中的函数依赖Sdept→Sloc,没有投影到关系模式