1-4-模式分解

例1:U=(A,B,C,D,E,G)   F={BG->C,BD->E,DG->C,ADG->BC,AG->B,B->D}   若R不是3NF,将R分解为无损且保持函数依赖的3NF。

 

解:

 

先要求出最小依赖集,由前面,候选键为AG,Fm={B->E,DG->C,AG->B,B->D}

 

第一步:左部相同原则分组:对Fm按具有相同左部的原则分组,然后左部∪右部。

 

U1=B∪DE=BDE      U2=DGC     U3=AGB

 

第二步:看有没有包含关系,有的话,合并吸收。

 

将R分解为ρ={ R1({B,D,E},{B->E,B->D}),

 

                       R2({C,D,G},{DG->C}),

 

                       R3({A,B,G},{AG->B}) }

 

第三步:看分的属性组里有没有包含码,包含了,就是无损且保持函数依赖的3NF,没有包含,就不是无损且保持函数依赖的3NF,就加一个分组,把码加进去。

 

因为候选键AG在U3中,所以所求分解ρ具有无损连接性,并保持函数依赖,且每个子模式为3NF。

 

 

 

例2:U=(A,B,C,D,E)   F={AB->C,C->B,D->E,D->C}   若R不是3NF,将R分解为无损且保持函数依赖的3NF。

 

解:

 

求得,码是AD     属于1NF

 

第一步:U1=ABC       U2=BC     U3=DCE

 

第二步:

 

将R分解为ρ={ R1({A,B,C},{AB->C}),

 

                       R2({B,C},{C->B}),

 

                       R3({D,E},{D->E,D->C}) }

 

合并吸收:

 

ρ={ R1({A,B,C},{AB->C,C->B}),

 

       R2({D,E},{D->E,D->C}) }

 

第三步:不是无损连接,添加码。

 

R3({A,D},{∅})

 

所以ρ={ R1({A,B,C},{AB->C,C->B}),

 

              R2({D,E},{D->E,D->C}),

 

              R3({A,D},{∅}) }


5. R=(A,B,C,D,E) F=(A->BC, CD->E, B->D, E->A)(12分)

1. 求B的属性闭包(5分)

 

B

 

2. 求R的候选码(7分)

 

A

(B,C)

(C,D)

E

 

 

6. R=(A,B,C,D), F={B->D, AB->C}(12分)

1. 该模型属于什么范式(4分)

 

1NF

 

2. 如何分解到BCNF(8分)

 

(A,B,C)

(B,D)


A->B

DE->B

BC->E

E->A

E->B

B->D

 

A->B

BC->E

E->A

E->B

B->D

 

A->B

BC->E

E->AB

B->D

(A,C)

(B,C)

(C,E)

(B, C, E)

(B, D)

(A, B, E)




设有一个关系模式R(A, B, C, D, E, F, G, H, I, J), 其函数依赖集F是: { AB->C, A->DE, B->F, F->GH, D->IJ },请问:

1.关系模式R的关键字是什么?

(A,B)

2.请将F分解到满足2NF

R1(A,D,E,I,J),   R2(B,F,G,H),   R3(A,B,C)

3.请将F分解到满足3NF

R1(A,D,E),    R4(F,G,H),    R2(B,F),    R3(A,B,C)


二、设有一个关系模式R(A, B, C, D),其函数依赖集是{A->B, C->B, D->AC, AC->D},请问:

1.关系模式R的关键字是什么?

(A,C)  和  D

2.该关系模式最高能够满足到第几范式?

1NF

3.请给出满足3NF的分解结果。

(答案1)  R1(A,B)      R2(A,C,D)

(答案2)  R1(C,B)      R2(A,C,D)

 


1.F = { BCD->A, BC->E, A->F, F->G, C->D, A->G }

1)计算 F 的最小函数依赖集

2)给出关系模式R的候选关键字

3)将关系模式R分解到满足3NF,并具有无损联接性和依赖保持性

4)上述的分解是否满足BCNF?如果不满足BCNF的要求,请将其进一步分解到满足BCNF

 

(1){ BC->AE, A->F, F->G, C->D }

(2)(B,C)

(3)R1(A,B,C,E)    R2(A,F)    R3(F,G)    R4(C,D)

(4)步骤 (3) 的结果已经满足BCNF

 

 

2.F = { AB->CD, A->E, B->FH, C->G, D->B, G->C, H->I }

1)计算 F 的最小函数依赖集

2)给出关系模式R的候选关键字

3)将关系模式R分解到满足3NF,并具有无损联接性和依赖保持性

4)上述的分解是否满足BCNF?如果不满足BCNF的要求,请将其进一步分解到满足BCNF

 

(1)F 本身就已经是最小函数依赖集

(2)(A,B)  和  (A,D)

(3)R1(A,B,C,D)    R2(A,E)    R3(B,F,H)    R4(C,G)    R5(H,I)

(4)其中的R1不满足BCNF,可将其进一步分解为:

R11(B,D)        R12(A,C,D)