bcnf分解算法_BCNF题解

设有关系模式

R

(

A

B

C

D

E

G

)上的函数依赖集为:

F={ A

B

B

C

AD

G

D

E }

。求解:

31

.求关系模式

R

的所有侯选键。

32

.分别求属性集

G

AD

CD

BC

的闭包。

33

.将关系模式

R

保持依赖地且无损地分解成

3NF

,要求写出分解过

程。

34

.将关系模式

R

无损地分解成

BCNF

,要求写出分解过程。

35

.说明分解

ρ

={R1

R2}

R1

(

ABC

)、

R2

(

ADEG

)

的范式级别并说

明理由

31.

:

求出侯选键

AD

。(

2

分)

首先在

F

中函数依赖右边不出现的属性必在侯选键中

,

AD

(1

)

;由于

(AD)+=ABCDEG,

AD

能函数决定所有的属性

,

所以

侯选键只有一个

AD

(

1

分)

AD+=AD BEG C

32.   G+=G(1

)

(AD)+=ABCDEG(1

)

(CD)+= CDE(1

)

(BC)+=BC(1

)

33.

解:

F={ A

B

B

C

AD

G

D

E }

F

是最小依赖集,

所有属性在

F

中出现

,将

F

中是每个函数依赖组成

一个关系模式得保持函数依赖的分解:

{AB

BC

ADG

DE} (2

)

并上一个侯选键

{AD}

得无损分解:

{AB

BC

ADG

DE}

{AD}={ AB

BC

ADG

DE } (2

)

F={

A

B

B

C

AD

G

D

E

}

34.

解:根据转换为

BCNF

的无损连接分解算法

6.5

1

)由于候选键为

AD

F

中存在不符合

BCNF

要求的函数依赖,所以

R

不是

BCNF

A

B

分解为:

R1=A

B

R2=

ACDEG

(1

)

R1

上保持的函数依赖集为

A

B

,键为

A

,所以是

BCNF

R2

上保持的函数依赖集为

A

C

AD

G

D

E

,键为

AD

,所以不是

BCNF

(1

)

A

C

进一步分解为:

R21=A

C

R22=

ADEG

(1

)

R21

上保持的函数依赖为

A

C

,键为

A

,所以是

BCNF

R22

上保持的函数依赖为

AD

G

D

E

键为

AD

,所以不是

BCNF

D

E

进一步分解为:

R221=D

E

R222=ADG

(1

)

R221

上保持的函数依赖为

D

E

,键为

D

,所以是

BCNF

R222

上保持的函数依赖为

AD

G

,键为

AD

,所以是

BCNF

最后得保持无损连接特征的分解:

{R1

R21

R221

R222}

或表示为

{AB

AC

DE

ADG}(1

)

注:由于选择不符合

BCNF

要求的函数依赖有多个,因此选择次序可

有不同,最后的结果也不同,原则上按上述评分标准分步给分。

35.

答:

R1

2NF (1

)

R2

1NF

(1

)


版权声明:本文为weixin_33514300原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。