分享
 
 
 

关系模式的分解

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

关系模式的分解

将一个关系模式分解为多个关系模式之后,原模式所满足的特性在新的模式中是否被保持。为了保持原来模式所满足的特性,要求分解处理具有无损联接性和保持函数依赖性。

模式分解中存在的问题

设有关系模式R,R1,R2,R3…,Rk都是R的子集,R=R1 ∪ R2 ∪ … ∪ Rk。关系模式R1,R2,R3…,Rk的集合用r 表示,r ={R1,R2,R3…,Rk}。用r代替R的过程称为关系模式的分解。

例:设关系模式R(ABC),F={A →B, B →C}, r是R的满足F的当前值。

将其按下列方式分解,会存在哪些问题:

1.将R分解为r1={R4(A), R5(B), R6(C)}

2.将R分解为r2={R1(AB), R2(AC)}

3.将R分解为r3={R1(AB), R3(BC)}

4.将R分解为r4={R2(AC), R3(BC)}

分解的衡量标准:

分解具有无损联接;分解要保持函数依赖;分解既要保持依赖,又要具有无损联接。

无损联接性

无损联接性是指当关系模式分解时,原关系模式下的任一合法的关系实例在分解之后能通过自然联接恢复起来。

定义:设r ={R1,R2,R3…,Rk}是关系模式R(U,F)的一个分解,如果对于R的任一满足F的关系r都有:

r=∏R1(r)?×? ∏R2(r)?×?… ?×? ∏Rk(r)

则称这个分解满足依赖集F的无损联接。

算法:检验无损联接性

输入:关系模式R {A1,A2,A3…,An},函数依赖集F以及分解r ={R1,R2,R3…,Rk}。

输出:确定r是否具有无损联接性。

方法:

1.构造一个k行n列的表,第i行对应于关系模式Ri,第j列对应于属性Aj。如果Aj ∈ Ri,则在第i行第j列上放符号aj,否则放符号bjj。

2.逐个检查F中的每个函数依赖,并修改表中的元素。其方法如下:取F中的一个函数依赖X→Y,在X的分量中寻找相同的行,然后将这些行中的Y的分量改为相同的符号,如果其中有aj,则将bjj改为 aj;若其中无aj,则改为bjj。

3.反复进行,如果发现某一行变成a1, a2,…, ak,则分解r具有无损联接性;如果F中所有函数依赖都不能再修改表中的内容,且没有发现这样的行,则分解r不具有无损联接性。

例:设有关系模式R(U,F),U=(A,B,C),F={A→B,C→B},判断一个分解r={AC,BC}是否具有无损联接性。

例:设R=ABCDE,R1=AD,R2=AB,R3=BE,R4=CDE,R5=AE,设函数依赖是A→C,B→C, C→D,DE→C, CE→A。判断r ={R1,R2,R3,R4,R5}是否具有无损联接性。

定理:如果R的分解为r ={R1,R2},F为R所满足的函数依赖集合,分解r具有无损联接性的充要条件是:

R1∩ R2 →(R1―R2)

或R1∩ R2 →(R2―R1)

例:设R=ABC,F={A→B},则r1={R1(AB), R2(AC)}和r2={R1(AB), R3(BC)}是否具有无损联接性

保持函数依赖的分解

定义:设有关系模式R,F是R的函数依赖集,Z是R的一个属性集合,则称Z所涉及到的F+中所有函数依赖为F在Z上的投影,记为∏Z(F),有:

∏Z(F)={X→Y| X→Y ∈ F+且XYÍ Z}

定义:设关系模式R的一个分解r ={R1,R2,……,Rk},F是R的依赖集,如果F等价于∏R1(F) ∪ ∏R2(F) ∪ … ∪ ∏Rk(F),则称分解r具有依赖保持性。

注意:一个无损联接分解不一定具有依赖保持性;同样,一个依赖保持性分解不一定具有无损联接性。

例:设关系模式R=(CITY,ST,ZIP),满足下列函数依赖:

(CITY,ST) →ZIP,ZIP →CITY。

将R分解为r ={R1,R2},R1={ST,ZIP},R2={CITY,ZIP}。检查是否保持无损联接性和函数依赖性。

作业

1.设关系模式R(A,B,C,D,E,G),F={AB →C,C →A,BC →D,ACD →B,D →EG,BE →C,CG →BD,CE →AG} ,求属性集闭包(BD) +。

2.求函数依赖集F={AB →CE,A →C,GP →B,EP →A,CDE →P,HB →P,D →HG,ABC →PG} 最小函数依赖集Fmin。

3.设关系模式R(U,V,W,X,Y,Z),

F={U →V,W →Z,Y →U,WY →X},

1={WZ,VY,WXY,UV}是否具有无损联接性。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有