表分解中的依赖关系保留



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

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

考虑关系R=(A B C D E F G H)和以下FD集:

  • FD1 E-›D
  • FD2 B,E-›C G
  • FD3 D,G-›E
  • FD4 C-›A B
  • FD5 E,G-›C
  • FD6 A,E-›B D
  • FD7 C、E、D-›G
  • FD8 A,G-›E

这些是的给定关系

  • R1(E F G H)
  • R2(A B E G)
  • R3(C D E G)
  • R4(A B C)

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

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

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

我在回答中写道:该分解不保留依赖关系,因为在该分解中,我们松开了FD DF-->BC。

我的数据库老师接受了这个答案,认为这是一个正确的答案,我也想澄清一下这个问题。

Ferda

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

最新更新