数据库一对一关系实施

时间:2013-01-11 19:29:07

标签: database

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

我理解一对一的关系是什么,何时使用它们,何时避免它们等等。我不明白它们是如何实现的?他们都有相同的主键吗?或者我只是简单地将外键放入多对多关系中?

1 个答案:

答案 0 :(得分:3)

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

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

另外两个选项是:

  • 组合两个实体的单个表。但这违背了实体的概念和数据的分离。
  • 具有正常的多对多实现,并通过上述约束强制执行一对一。