涉及空集的函数依赖

时间:2013-04-28 21:23:58

标签: database database-design functional-dependencies

我试图用FD来掌握空集的概念。说我有

R(A,B,C,D)

A-> E
B-> C
B-> D

其中E是空集,据我所知,这是一个微不足道的FD,因为你从A中学到了什么新东西。但是当你有

E-> A
B-> C
B-> D
这是什么意思?它只是“Nothing暗示A”,所以A可以在定义的域中拥有它想要的任何值,还是A必须是NULL值?

1 个答案:

答案 0 :(得分:6)

空集通常写为∅或{}。

  • A-> {}很简单。(因为{}是A的子集)。
  • {} - > A并非无足轻重。(除非A是{},因为{}是每个集合的子集,因此也是{}的子集。) / LI>

{} - > A表示可以在不使用任何其他值的情况下确定A的值,换句话说,对于R中的每个元组,A的值必须相同。这是 not 就像说A没有决定因素或者A是无效的那样。如果没有A的决定因素,则A将不受约束,并且在不同的元组中可能具有不同的值。

对空集合的依赖示例可能是成员关系中的性别属性,该属性定义了仅限男性的俱乐部的成员资格:{} - >性别。