幽兰生空谷
--绝世独自开

软考高级架构师-数据库-模式分解

范式之间的转换一般都是通过拆分属性,即模式分解,将具有部分函数依赖和传递依赖的属
性分离出来,来达到一步步优化,一般分为以下两种:

保持函数依赖分解

对于关系模式R,有依赖集F,若对R进行分解,分解出来的多个关系模式,保持原来的依赖集不变,则为保持函数依赖的分解。另外,注意要消除掉冗余依赖(如传递依赖)。

实例:设原关系模式R(A,B,C),依赖集F(A->B,B->C,A->C),将其分解为两个关系模式R1(A,B)和R2(B,C),此时R1中保持依赖A->B,R2保持依赖B->C,说明分解后的R1和R2是保持函数依赖的分解,因为A->C这个函数依赖实际是一个冗余依赖,可以由前两个依赖传递得到,因此不需要管。

保持函数依赖的判断(了解这一点即可,还有公式的不做介绍):

1、如果F上的每一个函数依赖都在其分解后的某一个关系上成立,则这个分解是保持依赖的(这是一个充分条件)。即,看函数每个依赖的左右两边属性是否都在同一个分解的模式中。

随堂练习

0 / 0 已完成
单选题
5 分

假设关系模式R(U,F),属性集U={A,B,C},函数依赖集F={A>B,B->C}。若将其分解为p={R1(U1,xF1),R2(U2,F2)},其中U1={A,B},U2={A,C}。那么,分解p()。

无损分解:

分解后的关系模式能够还原出原关系模式,就是无损分解,不能还原就是有损。

当分解为两个关系模式,可以通过以下定理判断是否无损分解:

定理:如果R的分解为p={R1,R2},F为R所满足的函数依赖集合,分解p具有无损连接性的充分必要条件是R1∩R2->(R1-R2)或者R1∩R2->(R2-R1)

随堂练习

0 / 0 已完成
多选题
5 分

给出关系R(U,F),U={A,B,C,D,E},F={A>BC,B->D,D->E}。以下关于F说法正确的是(6)。若将关系R分解为p={R1(U1,F1),R2(U2,F2)},其中:U1={A,B,C}、U2={B,D,E},则分解p(7)。

赞(1) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《软考高级架构师-数据库-模式分解》
文章链接:https://www.itheibai.com/archives/1912
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。

评论 抢沙发

评论前必须登录!

 

送人玫瑰,手有余香!

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册