当域是外键时,表是否满足6NF? E.g:
CREATE TABLE authors(
author_id serial NOT NULL PRIMARY KEY
);
-- other author attributes
CREATE TABLE books(
book_id serial NOT NULL PRIMARY KEY
);
CREATE TABLE books_author(
book_id int NOT NULL PRIMARY KEY REFERENCES books (book_id),
author_id int NOT NULL REFERENCES authors (author_id)
);
如果不是,模型应如何处理外键关系?
如果是M2M的关系,应该如何处理?连接表也应该是6NF吗?
答案 0 :(得分:7)
6NF表示relvar不满足任何非平凡的连接依赖关系,这意味着它具有候选键和最多一个其他属性。可能有也可能没有外键。所有正常形式都与外键是否定义无关。
不确定您对M2M的疑问是什么。您何时何地使用6NF取决于您一般使用它的动机。它主要用于数据仓库和时态数据模型。