定义
2NF

3NF

BCNF

例题
Y(X1,X2,X3,X4)Y(X1,X2,X3,X4)Y(X1,X2,X3,X4)
(X1,X2)→X3(X1,X2) \rightarrow X3(X1,X2)→X3
X2→X4X2\rightarrow X4X2→X4
写出 候选码 和 所属范式
(1)分析
∵\because∵ X2→X4X2\rightarrow X4X2→X4
∴\therefore∴ (X1,X2)→X4(X1,X2) \rightarrow X4(X1,X2)→X4
又
∵\because∵ (X1,X2)→X3(X1,X2) \rightarrow X3(X1,X2)→X3
∴\therefore∴ (X1,X2)→(X1,X2,X3,X4)(X1,X2) \rightarrow (X1,X2,X3,X4)(X1,X2)→(X1,X2,X3,X4)
得
-
候选码:(X1,X2)(X1,X2)(X1,X2)
-
非主属性: X3,X4X3,X4X3,X4
(2)分析:
∵\because∵ X2→X4X2\rightarrow X4X2→X4
∴\therefore∴ X4→P(X1,X2)X4 \overset P \rightarrow (X1,X2)X4→P(X1,X2)
所属范式:1NF
R(A,B,C,D)R(A,B,C,D)R(A,B,C,D)
F={AB→D,AC→BD,B→C}F=\left\{ AB \rightarrow D,AC \rightarrow BD,B \rightarrow C\right\}F={AB→D,AC→BD,B→C}
(1)侯选码
(2)最高属于第几范式
(1)
分析
∵\because∵
(A,B)→D(A,B) \rightarrow D(A,B)→D
B→CB \rightarrow CB→C
∴\therefore∴
(A,B)→(C,D)(A,B) \rightarrow (C,D)(A,B)→(C,D)
得
候选码:(A,B)(A,B)(A,B) (A,C)(A,C)(A,C)
非主属性:D
(2)
分析:
∵\because∵
DDD没有传递依赖或者部分依赖
∴\therefore∴
是3NF
∵\because∵
属性决定集中 B→CB \rightarrow CB→C 不包含码
得
所属范式为:3NF
3.
R(X,Y,Z,W)R(X,Y,Z,W)R(X,Y,Z,W)
F={Y→W,W→Y,(X,Y)→Z}F=\left\{ Y \rightarrow W,W \rightarrow Y,(X,Y)\rightarrow Z \right\}F={Y→W,W→Y,(X,Y)→Z}
(1)候选码
(2)最高属于得范式
(1)候选码:(X,Y)(X,Y)(X,Y) (X,W)(X,W)(X,W)
(2)所属范式为:3NF
Ps:之前觉得这题分析太长了 就没写分析
今天新学了闭包得概念 用闭包感觉更清楚了
L=(X)L=(X)L=(X);
LR=(Y,W)LR=(Y,W)LR=(Y,W);
R=(Z)R=(Z)R=(Z);
-
对于(X,Y)(X,Y)(X,Y)
Y→W,(X,Y)→ZY \rightarrow W, (X,Y)\rightarrow ZY→W,(X,Y)→Z
即为候选码 -
对于(X,W)(X,W)(X,W)
W→Y,(X,Y)→ZW\rightarrow Y,(X,Y)\rightarrow ZW→Y,(X,Y)→Z
即为候选码
博客围绕数据库范式展开,先介绍了2NF、3NF、BCNF的定义,接着给出多道例题,如分析关系模式的候选码和所属范式,包括Y(X1,X2,X3,X4)、R(A,B,C,D)、R(X,Y,Z,W)等,还提及用闭包概念分析更清晰。
644

被折叠的 条评论
为什么被折叠?



