当表的域是外键时,它满足6nf吗?例如。:
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吗?
最佳答案
6nf意味着relvar不满足非平凡的连接依赖项,这意味着它有一个候选键和最多一个其他属性。可能有外键,也可能没有。所有的范式都与是否定义外键无关。
不知道你关于M2M的问题是什么。何时何地使用6NF取决于您使用6NF的动机。它主要用于数据仓库和时态数据模型。
关于database - 6NF表可以包含外键吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16553374/