数据库规范化的几个问题

a few questions from database normalization

我有几个问题(我是数据库设计的初学者)。我知道要进入 3NF,我需要进入 1NF,然后 2NF;但是要进入 4NF,我需要进入 3NF 还是 BCNF?现在到第二个问题,我知道传递规则 (A-->B, B --> C, which implies A --> C),但是如果我有一个例子,FD (CE --> ABD, BD --> E) 我可以说 CE --> ABDE 吗?因为在 ABD 中有 BD (我认为在这种情况下它是一个微不足道的依赖,因为在左侧和右侧有一个 E )。请告知,谢谢大家!

规范化通常作为分解过程进行教学:1NF 然后 2NF 然后 3NF,等等。这种循序渐进的方法本质上是一种教学练习,与小学生(或过去)的方式大致相同教长除法;它有助于理解一些基本概念,即使您不太可能在课堂之外执行这些单独的步骤。了解这是一个学习练习,您应该意识到实际上有不止一种方法可以达到相同的最终结果。例如,您没有提到 EKNF,它在逻辑上介于 3NF 和 BCNF 之间,但经常被忽略。如果 3NF、BCNF、4NF 是您正在学习的内容,那么最合乎逻辑的顺序是:BCNF 在 3NF 之后和 4NF 之前。

CE --> ABD 意味着 CE --> ABDE 因为右侧的 E 是左侧的子集。 CE --> ABDE 不是平凡的依赖关系,因为平凡意味着右侧的 整体 必须是左侧的子集。