功能依赖性 - 如何消除多余的左侧属性?

时间:2014-08-24 21:36:30

标签: database functional-dependencies

我在其中一个课程中理解这个概念时遇到了很多麻烦。

这是一个示例问题。鉴于此表和FD消除了冗余的左侧属性:

  • 表1(X,Z,Y,W,S,T,U)
    • X-> Z
    • UZ-> YST
    • Y-> W
    • W-> S

对我而言,看起来没有多余的左侧属性,因为U +的闭合是YST而Z +的闭合也是YST,这对我来说不允许在左侧进行任何移除。它是否正确?感谢。

1 个答案:

答案 0 :(得分:0)

没有多余的左侧属性。当计算U的闭合时,您可以仅使用X-> Z,Y-> W,W-> S,这意味着U的闭合本身就是U.出于同样的原因,Z的封闭本身就是Z.因此,在UZ-> YST中,U和Z都不是多余的。

属性S在UZ-> YST中确实是多余的,因为UZ确定Y,并且一旦你知道Y你也知道W(Y-> W)并且一旦你知道W你也知道S(W-> S )。但是,S是右侧属性,并且您的练习没有要求消除右侧属性。