【问题标题】:explanation of extraneous attributes example无关属性示例的解释
【发布时间】:2012-12-26 17:49:48
【问题描述】:

我想知道如何找到无关的属性,虽然我读了很多我无法理解的文章。其中许多给出了无关属性的定义。 我从 Abraham Silberschatz,Henry F. Korth,S. 的《数据库系统概念》一书中找到了 2 个示例。苏达山。

  1. FD F=(AB -> C , A -> C) 无关属性 = B
  2. FD F=(AB -> CD, A -> C) 无关属性 = C

但我也无法理解这两个,因为他们没有给出任何解释。谁能解释一下如何找到无关的属性?

【问题讨论】:

    标签: database-design


    【解决方案1】:

    如果A可以识别C,那么如果你做一个新的键作为A和B的组合键,它都可以识别C,但是你也可以在没有B的帮助下识别C,所以b是无关的属性。

    【讨论】:

    • 是的,第一个没问题,但问题出在第二个。我无法理解第二个,因为我们在删除 C 作为无关属性时丢失了 A->C 关系。
    【解决方案2】:

    第一次:
    如果A可以识别C,那么如果你创建一个新的键作为A和B的组合键,它都可以识别C,但是你也可以在没有B的帮助下识别C,所以b是无关属性。

    第二次:
    根据阿姆斯壮分解规则

    Ab->cd 将分解为 AB->C AND AB->D
    所以现在只能使用 AB 的键来识别 c 和 D, 使 C 在 A->C 中成为 Extronious 属性并将其删除。

    【讨论】:

      【解决方案3】:

      1) 已经在其他答案中解释过
      2)A->C 这意味着 C 可以从 A 派生。
      AB->CD 可以分解为 AB->C 和 AB->D。
      但是这里我们不需要 AB 来推导出 C,因为它可以从 A 推导出来。因此是多余的

      【讨论】:

        【解决方案4】:

        从第二个依赖可以看出C可以由A决定,所以在第一个依赖AB->C中,B是无关的。

        2 从第二个依赖A->C,我们可以看出C可以被A去训练,也就是说我们并不需要Axxx->C,但是我们需要AB来确定D。所以在这种情况下C是额外的。

        【讨论】:

          猜你喜欢
          • 2010-12-18
          • 1970-01-01
          • 2021-07-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-14
          • 2011-11-03
          • 1970-01-01
          相关资源
          最近更新 更多