7.6.4 模式分解及分解后的特性

2025-06-07 19:46:34 更新

1.分解

【定义7.19】关M模式R(U,F)的一个分解p是指/» = {0叫,耳)工2叫,勇,*匕叫凡)},其

中:U = UU(,并且没有Uqq, 10,庄n, F,是F 在U,上的投影,F产{X—Y|XTYUF+AXYWU,}。

对一个给定的模式进行分解,使得分解后的模式是否与原来的模式等价有二种情况:

(1)分解具有无损连接性。

(2)分解要保持函数依赖。

(3)分解既要无损连接性,又要保持函数依赖。

2.无损连接

【定义 7.20】 p = {R1(U1,F1),R2(U2,F2),-,Rt(Ui,Ft))是关系模式R(U,F)的一个分解,若

对R(U,F)的任何一个关系r均有r = %(i)成立,则称分解户具有无损连接性,简称无损分解。

k

其中,mp(r) = lxi7tI. (r) D

j=l

【定理7.1】关系模式R(U,F)的一个分解p = {Ri(U"J,R2U,F2)},具有无损连接的充

分必要的条件是:Ujnu2 ^U!-U2er或UZU2 TU2-U3FL证明略。

3.保持函数依赖

【定义7.21】设关系模式R(U,F)的一个分解p = {R|(U|,与),RztUzE),…,Rk(Uk,FQ},如

果『=[[|耳卜 则称分解P保持函数依赖。

4.判别一个分解的无损连接性算法

5.将关系模式转换成3NF且保持函数依赖的算法

【算法7.2】转换成3NF且保持函数依赖的分解算法.

步骤1:对R(U,F)的函数依赖集F进行极小化处理(处理后的结果仍记为F)。

步骤2:找出不在F中出现的属性,将这样的属性构成一个关系模式。把这些属性从U中

去掉,剩余的属性仍记为U。

步骤3:若有X-AGF,且XA=U,则p={R},算法终止。

步骤4:否则,对F按具有相同左部的原朋分组(假定分为左组),每一组函数依赖Fi所

涉及的全部属性形成一个属性集U”若UWU,(勇)就去掉U,。由于经过了步骤2,故合并属

性集 Ui: U = l)UiO 于是 p = {R|(U|,E),R2(U2,5»rRJU》FQ}构成 R(U,F)的一个保持函

j=l

数依赖的分解.并且,每个R,(U,疣)均属于3NF且保持函数依赖。

6.将关系模式转换成3NF且无损连接又保持函数依赖的算法

【算法7.3】将一个关系模式转换成3NF,使它既具有无损连接又保持函数依赖的分解。

输入:关系模式R和R的最小函数依赖集F。

输出:R(U,F)的一个分解p = {Ri(U],耳),RzUE),…,玖(U^FQ},也为3NF,且p具有

无损连接又保持函数依赖的分解。

操作步骤如下:

(1)根据算法7.2求出保持依赖的分解

(2)判断分解p是否具有无损连接性,若有,转(4);

(3)令p=pu{X},其中X是R的码;

(4)输出p。

7.将关系模式转换成BCNF且无损连接的算法