找到最强的范式,如果它不在 BCNF 中则分解它?

Finding the strongest normal form and if it isn't in BCNF decompose it?

我知道在输入基本的情况下如何轻松地做这些题。我知道第一、第二和第三范式以及 BCNF 的规则。然而,我正在查看一些练习练习,我看到了一些不寻常的输入:

Consider the following collection of relations and dependencies. Assume that each relation is obtained through decomposition from a relation with attributes ABCDEFGHI and that all the known dependencies over relation ABCDEFGHI are listed for each question. (The questions are independent of each other, obviously, since the given dependencies over ABCDEFGHI are different.)

  1. R2(A,B,F) AC → E, B → F
  2. R1(A,C,B,D,E) A → B, C → D

我能解决2:

A+=AB
C+=CD
AC+=ABCD
ACE=ABCDE

所以ACE是候选键,A、C、E的none是超级键。这肯定不是 bcnf。分解得到(ACE)(AB)(CD)等

但是数字 1 让我感到困惑! R2 中既没有 C 也没有 E,为什么有 AC → E?这怎么能解决?这不可能是一个错误,因为许多其他练习都是这样的:/

另一个问题,当一个功能依赖项在 BCNF 中而其他功能依赖项不在时会发生什么?我们是否只是忽略这个功能依赖,而将其他的分解成 BCNF?

如果我对练习文本的理解正确,则依赖关系是那些保持原始关系 (ABCDEFGHI) 的关系:“每个问题都列出了关系 ABCDEFGHI 的所有已知依赖关系”。

因此,假设在原始关系中唯一指定的依赖关系是 AC → EB → F,这意味着依赖关系 AC → E 在分解关系 [=13= 中丢失了],关系的(唯一)候选键是 AB,模式不在 2NF 中(因为 F 取决于键的一部分),并且要在 BCNF 中分解该模式你必须在 (AB)(BF).

中分解它