关于 3NF 的条件之一
About one of the conditions of 3NF
R = {A, B, C, D}
函数依赖 F = {A -> B, B -> C, C -> D}
3NF处理后:
我们得到 {{A,B}, {B,C}, {C,D}}
假设 X -> A
代表每个功能依赖项。
X
表示左侧,A
表示右侧。
我的主要问题是3NF的第二个条件--X is a superkey
.
所以 X
是什么的超级键?
of R = {A, B, C, D}
或每个关系 {A,B}, {B,C} and {C,D}
,在 3NF?
例如,B
是一个超级键,也是 {B,C}
的候选键,但不是 R = {A, B, C, D}
的超级键或候选键。
我完全糊涂了。
一个关系在 3NF 中,如果对于该关系中的每个 X -> A
,这些条件之一成立:
X
包含A
(即X -> A
是平凡的函数依赖),或者
X
是超级键,或者
A-X
的每个元素,A
和X
的集合差,都是质数属性。
在 R = {A, B, C, D}
的情况下,我们有一个 FD B -> C
这样:
B
不包含C
,
B
不是 R
的超级键,并且
C
不是 R
的主要属性。
因此 R
不在 3NF 中。
但是,如果我们查看 R1 = {B, C}
其中 B -> C
,那么:
B
不包含C
,
B
是 R1
和 的超级键
C
不是 R1
的主要属性。
因此 R1
在 3NF 中。
当我们说 "normalize R to xNF" 时,我们的意思是 "replace R by some projections/components that are each in xNF"。 R不见了;它等于组件的连接。每个组件必须使用自己的FDs、superkeys、CKs等来满足xNF的条件
R = {A, B, C, D} 函数依赖 F = {A -> B, B -> C, C -> D}
3NF处理后: 我们得到 {{A,B}, {B,C}, {C,D}}
假设 X -> A
代表每个功能依赖项。
X
表示左侧,A
表示右侧。
我的主要问题是3NF的第二个条件--X is a superkey
.
所以 X
是什么的超级键?
of R = {A, B, C, D}
或每个关系 {A,B}, {B,C} and {C,D}
,在 3NF?
例如,B
是一个超级键,也是 {B,C}
的候选键,但不是 R = {A, B, C, D}
的超级键或候选键。
我完全糊涂了。
一个关系在 3NF 中,如果对于该关系中的每个 X -> A
,这些条件之一成立:
X
包含A
(即X -> A
是平凡的函数依赖),或者X
是超级键,或者A-X
的每个元素,A
和X
的集合差,都是质数属性。
在 R = {A, B, C, D}
的情况下,我们有一个 FD B -> C
这样:
B
不包含C
,B
不是R
的超级键,并且C
不是R
的主要属性。
因此 R
不在 3NF 中。
但是,如果我们查看 R1 = {B, C}
其中 B -> C
,那么:
B
不包含C
,B
是R1
和 的超级键
C
不是R1
的主要属性。
因此 R1
在 3NF 中。
当我们说 "normalize R to xNF" 时,我们的意思是 "replace R by some projections/components that are each in xNF"。 R不见了;它等于组件的连接。每个组件必须使用自己的FDs、superkeys、CKs等来满足xNF的条件