SQL 函数依赖
SQL Functional dependencies
假设 X1 → Y1 和 X2 → Y2
X1∩X2→Y1∩Y2是真的吗?
X1∪X2→Y1∩Y2怎么样?
我已经考虑这个问题几个小时了,我真的卡住了。也许第二个是正确的,因为 Y1 和 Y2 中的任何内容都将依赖于 X1 或 X2 中的至少一个。
第一个公式显然是错误的。一个非常简单的例子来说明这一点:
R(A,B,C,D)
A B → C D
B E → D F
从这个不能推断出B → D
任何方式,事实上下面的实例满足上述两个依赖,但不满足第三个(对于相同的B值,有两个不同的值D):
A B C D E F
----------------------
a1 b1 c1 d1 e1 f1
a2 b1 c1 d2 e1 f1
另一方面,第二个公式是正确的,这可以通过使用 Armstrong’s Axioms.
来证明
假设 X1 → Y1 和 X2 → Y2
X1∩X2→Y1∩Y2是真的吗? X1∪X2→Y1∩Y2怎么样?
我已经考虑这个问题几个小时了,我真的卡住了。也许第二个是正确的,因为 Y1 和 Y2 中的任何内容都将依赖于 X1 或 X2 中的至少一个。
第一个公式显然是错误的。一个非常简单的例子来说明这一点:
R(A,B,C,D)
A B → C D
B E → D F
从这个不能推断出B → D
任何方式,事实上下面的实例满足上述两个依赖,但不满足第三个(对于相同的B值,有两个不同的值D):
A B C D E F
----------------------
a1 b1 c1 d1 e1 f1
a2 b1 c1 d2 e1 f1
另一方面,第二个公式是正确的,这可以通过使用 Armstrong’s Axioms.
来证明