ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库-----------------------求候选码,最小依赖集,模式分解

2020-03-09 18:43:04  阅读:337  来源: 互联网

标签:候选 闭包 依赖 CDE 数据库 CE CD 分解 BD


例:已知关系模式R(U,F),其中U={A,B,C,D,E,G},
F={BE→G,BD→G,CD→A,CE→G,CDE→AB,BC→A,B→D}
求(1)F的最小函数依赖集:
①右边单一化
F1={BE→G,BD→G,CD→A,CE→G,CDE→A,CDE→B,BC→A,B→D}
②分别求F1中各函数依赖的闭包
对BE→G,(BE)+ = BDEG,闭包含有右边属性G,去掉该函数依赖
……
/*如果从后到前求闭包,那么CDE→B会被去掉。说明最小依赖集不唯一 */
所以有
F2={BD→G,CD→A,CE→G,CDE→B,B→D}
③左边单一化,判断冗余,若冗余则代替
对于BD→G :
{ B→G,(B)+ =BD,闭包含属性D,所以D冗余 ;
D→G, (D)+ = D, 闭包不含属性B,B不冗余 ;
所以B→G 代替BD→G }
……
所以有
Fm={B→G,CD→A,CE→G,CDE→B,B→D}
(2)求R的候选码
解:①首先用LRN法区分各属性

L: C, E R: A, G
N: none LR: B, D

②求闭包:
C闭包 != U , E闭包 != U
BC闭包 != U , CD闭包 != U , BE闭包 != U , DE闭包 != U , BD闭包 != U
BCE闭包 = U , CDE闭包 = U ;
所以,候选码为: BCE, CDE
主属性:B,C,D,E
(3)判断R的最高规范化程度,说明理由
答:R是第一范式。因为有CD→A,所以(C,D,E)→A,存在非主属性对主属性的部分函数依赖。
(4)判定分解p ={ABD,DGE,AG,CE}是否保持无损连接性;
答:没有保持无损连接性。因为分解p的各个子模式里面都没有包含候选码。
(5)将关系模式R分解为3NF,并且保持函数依赖和无损连接性。
解:已求得最小依赖集Fm={B→G,CD→A,CE→G,CDE→B,B→D} ;
左部相同原则分组,再将各属性并起来:
U1(=B并DG)=BDG, U2=ACD, U3=CEG, U4=BCDE
将R分解为p= {
R1( {B,D,G}, { B→G, B→D } ),
R2( {A,C,D}, { CD→A } ),
R3( {C,E,G}, { CE→G } ),
R4( {B,C,D,E}, { CDE→B } )
}
因为候选码BCE,CDE在R4中,所以所求的分解p具有无损连接性,且保持函数依赖,且每
个子模式为3NF。

标签:候选,闭包,依赖,CDE,数据库,CE,CD,分解,BD
来源: https://blog.csdn.net/qq_33148001/article/details/104758376

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有