文章目录
- 1
- 2
- 3
- 4
1
假设有关系模式R(A,B,C,D,E),如下函数依赖集F成立:
A→BC,CD→E,B→D,E→A
如果将模式R分解为:R1(A,B,C)与R2(A,D,E)。
证明该分解是无损分解。
如果R1∩R2→ R1或R1 n R2→ R2,则一个分解{R1, R2}是一个无损连接分解。
设R1=(A, B, C), R2 =(A, D, E), R1 ∩ R2 = A。因为A→BC => A→ABC,即R1 ∩ R2→R1,因此该分解是无损连接分解。
2
假设有关系模式R(A,B,C,D,E),如下函数依赖集F成立:
A→BC,CD→E,B→D,E→A
给出模式R的一个无损连接的BCNF分解。
R的候选码是A、E、CD、BC。
B→D中B不是R的超码,因此,R不是BCNF。
根据BCNF分解算法,将R分解为R1(B,D)和R2(A,B,C,E)。
R1上的函数依赖F1={B→D},R1满足BCNF。
R2上的函数依赖F2={A→BCE,E→ABC,BC→AE},R2满足BCNF。
最后,R的BCNF分解为:R1(B,D)与R2(A,B,C,E)。
3
假设有关系模式R(A,B,C,D,E),如下函数依赖集F成立:
A→BC,CD→E,B→D,E→A
给出模式R的一个无损连接并保持依赖的3NF分解。
F的正则覆盖Fc={A→BC,CD→E,B→D,E→>A}
R的候选码是A、E、CD、BC。
根据3NF分解算法,将R分解:
A→BC => R1=(A, B, C),
CD→E => R2=(C, D, E),
B→D => R3=(B, D),
E→A => R4=(E,A),
R1…R4中已经包含了R的候选码,
因此,R的3NF分解为:R1(A,B,C),R2(C,D,E),R3(B,D),R4(A,E)
4
假设有关系模式R(A,B,C,D,E),如下函数依赖集F成立:
A→BC,CD→E,B→D,E→A
证明模式R的如下分解不是无损分解:
(A,B,C)
如果R1∩R2→ R1或R1 n R2→ R2,则一个分解{R1, R2}是一个无损连接分解。
设R1=(A,B,C),R2 =(C,D,E), R1 ∩ R2 = C。因C→BC与C→DE均不满足,即R1 ∩ R2→R1或R1 n R2→ R2均不满足,因此该分解不是无损连接分解。