实体关系中双方均为强制时插入

Hon*_*bec 5 sql entity-relationship

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

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

另一个问题是,很难以 1:N 或 M:N 关系来强制双方的关系。(我只能想到触发器)

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

Ram*_*Ram 0

要在 SQL 中实现两个实体(表)之间的关系,一个表(Table1)的主键是另一个表(Table2)中的外键。如果它\xe2\x80\x99是双向强制关系(两个表都不是NULL),则应首先将条目插入到首先具有主键的Table1中,然后将包含Table1的主键的另一个Table2的条目插入为应插入外键。检查此链接以获取更多详细信息和示例。

\n