我正在尝试用 FD 来理解空集的概念。说我有
R(A,B,C,D)
A-> E
B-> C
B-> D
其中 E 是空集,据我了解,这是一个微不足道的 FD,因为你从拥有 A 中没有学到任何新东西。但是当你有
E-> A
B-> C
B-> D
这到底是什么意思?是简单地“什么都没有暗示 A”,所以 A 可以在定义的域内具有任何它想要的值,还是 A 必须是 NULL 值?
空集通常写为 ∅ 或 {}。
{}->A 表示 A 的值可以在不使用任何其他值的情况下确定,换句话说,对于 R 中的每个元组,A 的值必须相同。这与说 A 没有相同行列式或 A 为空。如果 A 没有行列式,那么 A 将不受约束,并且在不同的元组中可以具有不同的值。 对空集的依赖的一个示例可能是成员关系中的 Gender 属性,它定义了仅限男性的俱乐部的成员资格:{}->Gender。