BCNF 和 4NF 属性

BCNF and 4NF property

我读了一个声明"Relation R in BCNF with at-least one simple candidate key is also in 4NF"

我不认为它总是正确的,但我无法证明它。

有人可以帮忙吗?

陈述是正确的,这是从论文 "Simple Conditions for Guaranteeing Higher Normal Forms in Relational Databases", by C.J.Date and R.Fagin, ACM TODS, Vol.17, No. 3, Sep. 1992 中截取的证明草图。

如果对于 F+ 中的每个 非平凡 多值依赖 X →→ Y,X 是 R 的超键,则关系在 4NF 中。因此,如果关系在 BCNF 中,但在 4NF 中不存在,则必须存在非平凡的多值依赖关系 (MVD) X →→ Y,使得 X 不是键。我们将证明这与关系在 BCNF 中并且具有由唯一属性(简单候选键)构成的候选键 K 的事实相矛盾。

考虑这样一个事实,即在关系 R(T) 中,当我们有一个非平凡的 MVD X →→ Y(假设,不失一般性,X 和 Y 是不相交的),那么 MVD 依赖项 X →→ Z must 保持相同的关系,Z = T - X - Y(即 Z 是关系的所有其他属性)。我们现在可以证明每个候选键必须至少包含Z的一个属性和Y的一个属性(所以它必须至少包含2个属性!)。

因为我们有 X →→ Y 和 X →→ Z,并且 X 不是候选键,假设假设是错误的,即有一个候选 K 包含 Y 的成员(并且为了对称,既不是 Z 的成员)。但是,由于 K 是一个键,我们有 K → Y,其中 K 和 Y 不相交。

现在,有一个推理规则说,一般来说,如果V→→W和U→W,其中U和W不相交,那么V→W。

将这个规则应用到我们的案例中,因为 X → → Y,并且 K → Y,我们可以说 X → Y。但这是一个矛盾,因为我们已经说 R 在 BCNF 中,而 X 是不是候选键。

换句话说,如果一个关系不在 4NF 中,那么 每个 必须 至少有 2 个属性。

并且给定初始假设,我们在 BCNF 中至少有一个简单的候选键的关系,对于前面的引理,关系 必须 在 4NF 中(否则每个key应该至少由2个属性组成!)。