0

我阅读了下面的内容,其中 R 是关系模式,X 是属性集,A 是 R 中的属性。让 F 是 FD 集。要使 R 在 BCNF 中,对于 F 中的每个 X-> A,以下必须成立:

1) A is a subset of X
2) X is a superkey

在 2) 中,为什么 X 必须是超级键?条件不应该是 X 是候选键,因为我知道对于 BCNF,对于每个非平凡的依赖项,一个键决定了一些属性。

如果我用 X 替换 2) 会出现什么问题是候选键?

4

1 回答 1

1

这是一个简单的例子:假设关系 R(X, A, B), X 候选键。如果你有 FD X->A,你也很容易有 FD (X, B) -> A,但是 (X, B) 不是候选键(它不是最小的),而是一个超级键。

于 2015-03-04T16:24:26.847 回答