2013-01-11 135 views
0

目前我还没有建立任何数据库,我仍然处在我正在学习使用ER图和表列表来规划数据库的阶段。数据库一对一关系实现

我明白一对一的关系是什么,何时使用它们,什么时候避免它们等。我不明白的是他们是如何实现的?他们是否有相同的主键?或者我只是简单地把外键放在一个多对多的关系中?

+0

http://www.databaseprimer.com/relationship_1to1.html – Radi

回答

2

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

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

其他两个选项分别是:

  • 做一个表合并两个实体。但是这违背了实体和数据分离的概念。
  • 有一个正常的多对多实现并通过上面的约束一对一执行。