1

目前我还没有建立任何数据库,我仍处于学习使用 ER 图和表格列表规划数据库的阶段。

我了解什么是一对一关系,何时使用它们,何时避免它们等等。我不明白的是它们是如何实现的?它们是否具有相同的主键?还是我只是将外键放在多对多关系中?

4

1 回答 1

3

人们通常会将其实现为其中一个表上的非空外键,该表指向另一个表的主键,并在此外键上添加唯一约束。

您还可以添加检查约束以确保表中的所有外键都显示为另一个表中的主键,反之亦然,尽管这样做会使从两个表中添加和删除项目相当困难。

其他两个选项是:

  • 制作一个组合两个实体的表。但这违背了实体的概念和数据的分离。
  • 有一个正常的多对多实现,并通过上述约束一对一地执行。
于 2013-01-11T19:34:57.677 回答