例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)