4

我正在为数据库考试做准备,有一件事情让我感到困惑。从我读到的任何关系的双方都可以限制为 NOT NULL。我至少在两本书和各种文章中看到过它。

然而,没有人解释如何将值插入这些表中。据我所知,在大多数数据库(Oracle 除外)中不可能一次插入多个表。这意味着需要先插入其中一个表。但是,此时第二个表中不存在相应的条目,因此我无法引用它,这违反了 NOT NULL 约束。

另一个问题是很难在 1:N 或 M:N 关系中从双方强制执行关系。(我只能想到触发器)

所以问题是:这些关系真的可以实现,还是只是在现实生活中没有使用的“理论”概念?

4

1 回答 1

-1

To implement a relationship between two entities (tables) in SQL, the primary key of a table (Table1) is make the foreign key in the other table (Table2). If it’s two way mandatory relationship (NOT NULL for both tables) then the entries should be first inserted in Table1 which has the primary key first and then the entries for the other Table2 containing the primary key of the Table1 as the foreign key should be inserted. Check this link for more details and an example.

于 2013-05-17T22:31:31.087 回答