涉及空集的函数依赖

问题描述 投票:0回答:1

我正在尝试用 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 值?

database database-design functional-dependencies
1个回答
8
投票

空集通常写为 ∅ 或 {}。

  • A->{} 是微不足道的。(因为 {} 是 A 的子集)。
  • {}->A 并不平凡。(除非 A 是 {},因为 {} 是每个集合的子集,因此也是 {} 的子集)。

{}->A 表示 A 的值可以在不使用任何其他值的情况下确定,换句话说,对于 R 中的每个元组,A 的值必须相同。这与说 A 没有相同行列式或 A 为空。如果 A 没有行列式,那么 A 将不受约束,并且在不同的元组中可以具有不同的值。 对空集的依赖的一个示例可能是成员关系中的 Gender 属性,它定义了仅限男性的俱乐部的成员资格:{}->Gender。

© www.soinside.com 2019 - 2024. All rights reserved.