如何确定多值依赖MVD(传递规则)?

How to determine Multivalued Dependency MVD (transitive rule)?

我在确定以下关系的 MVD 时遇到一些困难

 R=(A,B,C,D,E) where A->>B and B->>D

给定以下元组:

 (0,1,2,3,4) and (0,5,6,7,8) 

我想确定 all 个可以完成关系的元组。

据我了解,如果元组 t(A)=u(A) 必须有第三个元组 v(A)=t(A)v(B)=t(B ) 第四个元组 w(A)=t(A)w(B)=u(B)

所以我尝试了:

       A B C D E
   t   0 1 2 3 4
   u   0 5 6 7 8
   v   0 1 2 3 4
   w   0 5 6 7 8

但是,我想我可能会遗漏一些东西(又名传递性)。因为元组(vw)中没有一个包含在集合中:

   1.(0,1,2,7,4)
   2.(0,1,2,3,8)
   3.(0,1,6,3,4)
   4.(0,5,2,7,8)

其中至少一个元组必须为真。我只是不能把它放在一起,如果有任何帮助,我将不胜感激!关于传递性,我发现 A->>BB->>D 所以 A->>(D-B)A->>BD 但我就是做不对。

在您的示例中,对于给定的 MVD,使用两个元组作为示例会产生误导:

 (0,1,2,3,4) and (0,5,6,7,8) 

因为没有办法说,从这个例子来看,如果某个 B 有多个 D 值(你有两个不同的 B 值)和可能还有其他多值依赖关系,因为给定 A.

的相同值,CE 的值不同

为了更清楚地展示这一点,我将尝试用不同的、更具体的数据来重新表述你的例子。假设您的关系是关于多站点公司的,并且属性是:

A company name  (N)  (a company has a single name)
B site          (S)  (a company can have multiple sites)
C website       (W)  (a company has a single web site)
D phone number  (P)  (a company site can have multiple phone numbers)
E CEO           (E)  (a company has a single CEO)

因此我们可以将架构重写为 C(N,S,W,P,E)N->>SS->>P,如您的示例所示。这只是意味着每个公司可以有多个站点,每个站点可以有多个 phone。

假设公司 N1 有两个站点,S1S2,每个站点有 phone 个编号:P11P12 用于站点 S1P21P22 用于站点 S2。因此至少以下两个元组必须存在于 C:

 (N1, S1, W1, P11, E1)  and (N1, S2, W2, P21, E1)

但是,就像你的例子一样,只知道这两个元组并不能提供关于其他元组存在的任何其他信息(这是因为可能只有两个站点只有一个(单个)不同的 phone 每个站点。 相反,从具体示例的描述中,我们知道在 C 中,所有以下元组 必须 存在:

N    S    W    P    E
N1   S1   W1   P11  E1
N1   S2   W1   P21  E1
N1   S1   W1   P12  E1
N1   S2   W1   P22  E1

最后,关于传递性,你说的是正确的,从 A->>BB->>D 可以推断出 A->>(D-B) 不能 A->>BD(完全不同!)