Database 最小覆盖函数依赖关系的推导
给定一组依赖项AB->C,BD->EF,AD->GH,A->I,H->J。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,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 }
当然,对于这个集合,您可以应用阿姆斯特朗的公理来导出许多其他依赖项(例如
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你的答案虽然有用,但实际上并不能回答问题中的任何一个问题。