标准的二维表就满足第一范式(1NF)
满足第一范式且每一个非主属性完全函数依赖任何一个候选码就满足第二范式(2NF)
满足第二范式且不存在传递函数依赖就满足第三范式3NF
满足第三范式且非主属性对候选码没有部分依赖或者传递依赖就满足BC范式(BCNF)
Y(X1,X2,X3,X4)
(X1,X2) → \rightarrow →X3
X2 → \rightarrow →X4
侯选码?
属于第几范式?
R(A,B,C,D)
F={AB → \rightarrow →D,AC → \rightarrow →BD,B → \rightarrow →C}
侯选码?
最高属于第几范式?
R(X,Y,Z,W)
F={Y ← \leftarrow ← → \rightarrow →W,XY → \rightarrow →Z}
侯选码?
最高属于第几范式?
因为 X2 → \rightarrow →X4
所以 ( X 1 , X 2 ) → P X 4 (X1,X2) \stackrel{P}{\rightarrow} X4 (X1,X2)→PX4
因为 ( X 1 , X 2 ) → X 3 (X1,X2) \stackrel{}{\rightarrow} X3 (X1,X2)→X3
所以 ( X 1 , X 2 ) → ( X 3 , X 4 ) (X1,X2) \stackrel{}{\rightarrow} (X3,X4) (X1,X2)→(X3,X4)
因此:候选码:(X1,X2);非主属性:X3,X4。
因为(X1,X2) → \rightarrow →X4, X2 → \rightarrow →X4,存在非主属性X4对候选码(X1,X2)的部分函数依赖;
所以不属于2NF。
结论:候选码(X1,X2),属于第一范式。
因为 B → \rightarrow →C
所以 ( A , B ) → ( C , D ) (A,B) \stackrel{}{\rightarrow} (C,D) (A,B)→(C,D)
因为 ( A , C ) → ( B , D ) (A,C) \stackrel{}{\rightarrow} (B,D) (A,C)→(B,D)
因此:候选码:(A,B)、(A,C);非主属性:D。
不存在非主属性D对候选码(A,B)、(A,C)的部分函数依赖;
所以属于第三范式。
不属于BCNF 因为B→C,B不包含码
满足BCNF的关系模式有:
因为(X,Y) → \rightarrow →Z ,Y → \rightarrow →W
所以(X,Y) → \rightarrow →(W,Z),(X,Y)是码
因为(X,W) → \rightarrow →X, (X,W) → \rightarrow →W, W → \rightarrow →Y
所以(X,W) → \rightarrow →(X,Y,W),
因为W → \rightarrow →Y,XW → \rightarrow →XY,XY → \rightarrow →Z,所以(X,W) → \rightarrow →Z
所以(X,W)也是码
候选码:(X,Y)、(X,W);非主属性:Z。
属于第二范式,因为Z完全依赖于码(非主属性只有Z)
属于第三范式,因为Z没有传递依赖于码
不属于BC范式 因为W→Y,决定者不包含候选码
所以第三题最高属于第三范式。