当表的域是外键时,它满足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/

10-10 22:32