2

当域是外键时,表是否满足 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 吗?

4

1 回答 1

7

6NF 意味着一个 relvar 不满足非平凡的连接依赖关系,这意味着它有一个候选键和最多一个其他属性。可能有也可能没有外键。所有的范式都与是否定义了外键无关。

不确定您对 M2M 的问题是什么。您使用 6NF 的时间和地点通常取决于您使用它的动机。它的主要用途是用于数据仓库和时间数据模型。

于 2013-05-15T05:45:33.947 回答