Database 最小覆盖函数依赖关系的推导

Database 最小覆盖函数依赖关系的推导,database,database-normalization,functional-dependencies,Database,Database Normalization,Functional Dependencies,给定一组依赖项AB->C,BD->EF,AD->GH,A->I,H->J。 你如何找到一个最小的掩护?通过应用一本书中描述的过程,我得到:AB->C,a->I,BD->EF,AD->GH,H->J,而不是AB->CI,BD->EF,AD->GHIJ。是否有可能将AB->C和A->I组合成AB->CI并去掉A->I?一组依赖项F的最小覆盖的函数依赖项必须满足四个条件: { AB → C AD → G AD → H A → I BD → E BD → F H → J } 它

给定一组依赖项AB->C,BD->EF,AD->GH,A->I,H->J。
你如何找到一个最小的掩护?通过应用一本书中描述的过程,我得到:AB->C,a->I,BD->EF,AD->GH,H->J,而不是AB->CI,BD->EF,AD->GHIJ。是否有可能将AB->C和A->I组合成AB->CI并去掉A->I?

一组依赖项F的最小覆盖的函数依赖项必须满足四个条件:

{ AB → C
  AD → G
  AD → H
  A → I
  BD → E
  BD → F
  H → J }
  • 它们必须是F的封面(当然!)
  • 每个右侧部分只有一个属性
  • 每个左侧部分都不能有无关的属性(即即使移除原始依赖项也可以派生原始依赖项的属性)
  • 封面的任何依赖项都不是多余的(即,可以从剩余的依赖项派生) 这意味着示例的最小覆盖是(注意,可以有多个最小覆盖,满足上述条件):


    当然,对于这个集合,您可以应用阿姆斯特朗的公理来导出许多其他依赖项(例如
    AD)→ GH
    AB→ CI
    AD→ GHIJ
    ABD→ EJ
    等),但这些都不是F的任何最小覆盖的一部分(即,它们不满足上述定义)。

    见我所见。但是我能说AB->CI推断出A->I吗?不,给定AB->CI我们不能推导出A->I。告诉我们这本书,告诉我们你是怎么读的。我们怎样才能指出你的错误呢?还有,为什么其他人必须重新驱动解决方案,而不是只检查您的解决方案?谷歌“stackexchange家庭作业”。PS要“摆脱”FD,需要由您保留的FD暗示。对于一个->我给出的AB->CI,情况并非如此。但是,您可以通过编写一些简单的ABCI数据来展示这一点。但是,既然删除FD不是您试图遵循的过程中任何步骤的一部分,那么您为什么要问呢?PS您所说的集合只是输入列表。另外,你说这本书给出的集合不是输入的封面,因为它并不意味着a->I。所以你看起来很困惑。请确认输入、输出和书籍输出。此外,“合并为”也不是有用的措辞。AB->C和A->我暗示AB->CI。但我们可以放弃的是别人暗示的东西。派生了AB->CI之后,我们只能在所有其他FD都暗示的情况下删除A->I。遵循参考过程。我费心检查FD集&输入已经只是RHS最小形式上的一个属性在RHS最小形式上的多个属性中的一个微不足道的重新排列。这个问题中的其他奇怪的事情(见我的评论)表明,可能所谓的输入实际上是这本书的输出。不管怎样,上面有点不对劲。PS你的答案虽然有用,但实际上并不能回答问题中的任何一个问题。