涉及空集的函数依赖

rex*_*rex 2 database database-design functional-dependencies

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

R(A,B,C,D)

A-> E
B-> C
B-> D
Run Code Online (Sandbox Code Playgroud)

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

E-> A
B-> C
B-> D
Run Code Online (Sandbox Code Playgroud)

这究竟是什么意思?它只是"没有什么意味着A",所以A可以在定义的域中拥有它想要的任何值,还是A必须是NULL值?

nvo*_*gel 7

空集通常写为∅或{}.

  • A - > {}是微不足道的.(因为{}是A)的一个子集.
  • {} - > A并非无足轻重.(除非A是{},因为{}是每个集合的子集,因此也是{}的子集).

{} - > A表示可以在不使用任何其他值来确定A的值,换句话说,A的值必须是在每R.元组相同的这是相同的话说,A没有决定簇或A为空.如果没有A的决定因素,则A将不受约束,并且在不同的元组中可能具有不同的值.

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