2013-04-28 73 views
2

我正在尝试使用FD来理解空集的概念。说我有涉及空集的函数依赖

R(A,B,C,D) 

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

其中E是空集,从我的理解,这是一个平凡的FD,因为你是学什么新东西不必A.但是如果你有

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

什么这是否意味着什么?它只是“没有意味着A”,所以A可以在定义的域中拥有它想要的任何值,或者它是否必须是NULL值?

+0

“你从A中学到新东西”没有帮助。学习函数依赖关系的定义:X - > Y如果两行具有相同的X子元素,则它们具有相同的Y子元素。 – philipxy 2015-03-20 23:01:56

回答

2

空集通常写为∅或{}。

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

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

一个依赖于空集的例子可能是Members关系中的Sex属性,它定义了男性专用俱乐部的成员资格:{} - >性别。

+0

好的非常感谢,更有意义。 – rex 2013-04-29 14:02:03

0

依赖关系发生在数据库中,当存储在所述相同数据库表信息唯一确定存储在相同表的其它信息。您也可以将此描述为一种关系,即知道一个属性(或一组属性)的值足以告诉您同一个表中另一个属性(或一组属性)的值。

因为E不是R(A,B,C,D)的一个属性,所以你试图做的事是不可能的。