-2

我对下面的问题感到困惑,因为根据我的说法,它的答案可能是 AD 是候选键。但它是主键,所以我想知道:它的候选键和它的主键一样吗?

关系 R={A,B,C,D,E,F} 给出了以下函数依赖集

A->B
AD->C
B->F
A->E

它的候选键是什么?它会和它的主键一样吗?

4

1 回答 1

0

一个关系有一个或多个 CK(候选键)。(它们是不包含较小超级键的超级键。)我们可以将其中一个 CK 称为“the”PK(主键)。然后,我们将其他 CK 统称为“AK”(备用键)。PK 和 AK 与关系理论无关。

说一组列“是它的主键”是没有意义的,除非它已经知道或假设只有一个 CK 或者它是一个 CK 并且已被选为 PK。

PS 这些 FD(功能依赖)都不能确定 A 或 D,因此它们必须在所有 CK 中。但是 AD 决定了所有其他属性。所以它是一个CK,它是唯一的CK。所以如果我们命名一个PK,那么它必须是AD。如果我们在没有明确将 AD 命名为 PK 的情况下提及 PK,那么我们必须指的是 AD。

于 2017-07-20T19:53:25.820 回答