两个功能依赖是等价的

时间:2014-03-30 16:03:54

标签: database dependencies

现在我有两套S1 = {M - > TN,P-> QM} S2 = {M-> N,P-> Q,P-> MT,MN-> T}。我需要检查这两个集合是否具有相同的功能依赖性。

这是我到目前为止所做的:

S +我可以得到:

  • M-> N,M-> T(Aug rule,1)
  • P-> Q,P-> M(Aug规则,2)
  • P-> T(过境规则,3 + 4)
  • P-> MT(添加剂,4,5)

但我不知道如何在S2中获得MN-> T。我认为它可能会使用伪传递规则,但我不知道如何使用它。谢谢!

1 个答案:

答案 0 :(得分:2)

好吧,我不会告诉你确切的规则(我不记得了)但是: S1是:

  • M - > TN
  • P - > QM

和S2是:

  • M - > N
  • P - >问
  • P - > MT
  • MN - > Ť

我可以这样写(Q和MT依赖于P因此无关紧要):

  • M-将N
  • P-> MQT
  • MN->吨

现在我知道N依赖于M,所以我可以将它从上一个依赖项中删除:

  • M-将N
  • P-> MQT
  • M->吨

所以我有这个:

  • M-> NT
  • P-> MQT

因为我知道T依赖于M我可以将它排除在第二依赖之外:

  • M-> NT
  • P-> MQ

所以它与S1相同。希望它会有所帮助。