需要理清码、候选码、主码间的关系, 主 码 ⊆ 候 选 码 主码 \subseteq 候选码 主码⊆候选码 ⊆ 码 \subseteq 码 ⊆码
一、
Y(X1,X2,X3,X4)
(X1,X2)→X3
X2→X4
侯选码?
属于第几范式?
候选码可挨个进行尝试
X
1
↛
X
3
X1 \not\rightarrow X3
X1→X3、
X
2
↛
X
3
X2 \not\rightarrow X3
X2→X3、
X
3
↛
X
1
X3 \not\rightarrow X1
X3→X1、
X
4
↛
X
1
X4 \not\rightarrow X1
X4→X1
(X1,X2)→X3、(X1,X2)→X4 (X2→X4)
(
X
1
,
X
3
)
↛
X
4
(X1,X3) \not\rightarrow X4
(X1,X3)→X4
(
X
1
,
X
4
)
↛
X
3
(X1,X4) \not\rightarrow X3
(X1,X4)→X3
(
X
2
,
X
3
)
↛
X
1
(X2,X3) \not\rightarrow X1
(X2,X3)→X1
(
X
2
,
X
4
)
↛
X
1
(X2,X4) \not\rightarrow X1
(X2,X4)→X1
(
X
3
,
X
4
)
↛
X
1
(X3,X4) \not\rightarrow X1
(X3,X4)→X1
所以候选码为(X1,X2)
因为(X1,X2)→X4, X2→X4,即非主属性X4对候选码(X1,X2)为部分函数依赖。不属于2NF,属于1NF
二.
R(A,B,C,D)
F={AB→D,AC→BD,B→C}
侯选码?
最高属于第几范式?
候选码同样可挨个尝试进行
F相当于(A,B)→D、(A,C)→B、(A,C)→D、B→C
因为(A,B)→D、B→C,所以(A,B)是候选码
因为(A,C)→B、(A,C)→D,所以(A,C)是候选码
因此非主属性为D
不存在非主属性部分依赖于码,属于2NF;
且不存在传递关系,属于3NF;
B是决定因素但不包含码,所以不属于BCNF
最高属于3NF
三、
R(X,Y,Z,W)
F={Y←→W,XY→Z}
侯选码?
最高属于第几范式?
F相当于Y→W、W→Y、(X,Y)→Z,且Y与W等价,则还有(X,W)→Z
因为(X,Y)→Z、Y→W,所以(X,Y)是候选码
因为(X,W)→Z、W→Y,所以(X,W)是候选码
因此非主属性为Z
不存在非主属性部分依赖于码,属于2NF;
存在 (Y→W、(X,Y)→Z,即(X,W)→Z) 但Y与W等价,仍属于3NF;
W是决定因素但不包含码,所以不属于BCNF
最高属于3NF