【问题标题】:How to determine Multivalued Dependency MVD (transitive rule)?如何确定多值依赖 MVD(传递规则)?
【发布时间】:2015-10-16 22:41:33
【问题描述】:

我在确定以下关系的 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 但我就是搞不懂。

【问题讨论】:

    标签: database normalization


    【解决方案1】:

    在您的示例中,使用给定的 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,如您的示例所示。这仅仅意味着您可以为每个公司拥有多个站点,并且每个站点可以拥有多个电话。

    假设公司 N1 有两个站点,S1S2,以及每个站点的电话号码:P11P12 站点 S1P21P22对于网站S2。所以C中至少必须存在以下两个元组:

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

    但是,在您的示例中,仅知道这两个元组不会提供有关其他元组存在的任何其他信息(这是因为可能只有两个站点,每个站点只有一个(单个)不同的电话地点。 相反,从具体示例的描述中,我们知道在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(这是完全不同的事情!)

    【讨论】:

      猜你喜欢
      • 2020-06-24
      • 2018-06-01
      • 1970-01-01
      • 2021-07-26
      • 1970-01-01
      • 1970-01-01
      • 2020-10-21
      • 1970-01-01
      • 2019-11-04
      相关资源
      最近更新 更多