我最近了解了 1NF、2NF 和 3NF。我了解定义和差异。我之前还了解到通过使用桥接 1:M 实体从概念模型中删除 M:M 关系(但当时我不知道正常形式)。我现在看到的关于规范化的很酷的事情是,如果你从一个大的混乱关系开始,规范化步骤会自动为你处理 M:M,所以你不必有意识地认为“好吧,我正在桥接我的毫米。”
但是,我决定假设性地问自己哪个级别的规范化专门负责删除 M:M 关系。我知道它不是 1NF,因为我可以很容易地想出 1NF 和 M:M 的例子。但是,在我设计的所有简单示例中,将它们引入 2NF 使 M:M 消失了。但是,我不确定这是确定的,因为我在想出详尽的例子方面似乎不是很有创意。所以我提出这个问题:是否存在存在并且仍然是 M:M 的 2NF 关系,它需要通过 3NF 才能删除 M:M?还是 2NF 本身一直不允许 M:M?
谢谢!
更新:让我试着更好地解释自己。考虑这个简单的例子:
表 BOOK_AUTHOR
| ISBN | Title | AuthorID | AuthorName|
|------------|-----------|-----------|-----------|
| 0001 | Book1 | A01 | King |
| 0001 | Book1 | A02 | Tolkien |
| 0002 | Book2 | A01 | King |
| 0003 | Book3 | A02 | Tolkien | …Run Code Online (Sandbox Code Playgroud)