在给定单个域的情况下,功能依赖性(如果是微不足道的话)意味着子集关系吗?

时间:2016-05-14 10:46:52

标签: sql theory functional-dependencies

观察FD的定义。其中X和Y是模式属性的子集,我同时看到:

  • FD X→Y 琐事如果Y⊆X。
  • FD X→Y 琐事当且仅当Y⊆X。

“琐碎”的另一个特征提到“不可能无法控制”(C.J.Date)。如果非平凡被明确表征,那么就像“不重要”(“当然”)。

现在假设一些属性 A 只有一个值的域。比如, A 的类型只包含值1.然后,如果任何关系 R 包含 A 的每组属性R 在功能上确定 A ,即X→A,无论{ A }是否为X,因为它不可能不适用于任何X⊆R。原因是:

  

给定任何子集,它的 A - 组件也被给出,总是1。

那么,鉴于这些域,将FD表征为平凡的子集条件是否必要且充分?

(反过来,这些单身域也可以被称为微不足道,我猜,但这些定义让我感到奇怪。或者混淆。; - )

1 个答案:

答案 0 :(得分:1)

在关系R中,您可以使一个或多个属性保持不变。如果A是这样的属性,那么以下的非平凡的依赖性保持在该关系中:

∅ → A

考虑到函数依赖的定义,这意味着对于R实例中的每个几个元组,它们总是在A上重合。这种依赖性显然是非平凡的,因为右边 - 手部分不是左手部分的子集。

此外,作为这种依赖性的结果,对于R的属性的每个子集X,我们得到X→A。这可以通过应用反身性和传递性规则从阿姆斯特朗的公理中容易地得出:

X → ∅  (for the reflexivity rule, since for each X, ∅ ⊆ X)
X → A  (by applying the transitivity rule to X → ∅ and ∅ → A)
相关问题