1

我对数据库关系(表)的依赖保留属性感到困惑。我们是否必须查看初始 FD 集或其他什么?我试图解决关于这个主题的一些问题。这个问题之前的问题都满足了我的初步估计,即“查看给定的 FD 集”。如果您在新关系集中没有丢失它们中的任何一个,那么这就是依赖保留。

但是当我谈到这个问题时,我感到很困惑。

考虑关系 R = (ABCDEFGH) 和以下 FD 集:

  • FD1 E -> D
  • FD2 B, E -> CG
  • FD3 D, G -> E
  • FD4 C -> AB
  • FD5 E, G -> C
  • FD6 A, E -> BD
  • FD7 C, E, D -> G
  • FD8 A, G -> E

这些是给定的关系

  • R1 (EFGH)
  • R2 (ABEG)
  • R3 (CDEG)
  • R4 (ABC)

答案说这种分解是依赖保留的。根据我的估计,我们失去了 FD2,所以这一定不是依赖保留。

我需要一位专家为我澄清这个概念。

4

2 回答 2

0

这个问题是家庭作业问题的一部分。当我做作业时,我不确定自己的想法是否正确。

在我的回答中,我写道:这种分解不是保留依赖关系,因为在这种分解中我们失去了 FD DF--> BC 。

我的数据库老师接受了这个答案作为正确答案,我也想在这里澄清这个主题。

费尔达

于 2013-03-11T07:42:43.170 回答
0

分解是依赖保留的,因为 FD2 BE->CG 可以通过关系 R2(BE->G) 和 R3(EG->C) 来实现。BE 的闭合给出了 CG。

于 2014-08-18T03:52:47.833 回答