0

使用一对一关系将一个业务模型设计到多个表中的最佳实践是什么?假设我有下图; 演示图

两个表都代表一个业务对象/实体,即 Person。对于表PersonNationalId,最佳做法是

  1. 添加添加列PersonNationalId作为主键
  2. 删除唯一键并将其标记PersonId为主键?(我推荐这个解决方案)
  3. 使用唯一键就很好了,我们不必添加任何主键?

我不考虑将业务拆分为两个/多个表,因为我从系统中的不同屏幕更新每个表,并且我想跟踪更改(通过每个表中CreatedByCreatedDate列)

以前的选择/解决方案的最佳实践是什么?如果您有任何其他解决方案,我将很高兴知道。

提前致谢

4

2 回答 2

1

文件过期,当它们过期时,新的文件会发出一个新的号码。他们也会迷路,被盗......所以,从......开始

在此处输入图像描述

于 2012-05-29T12:12:24.660 回答
1

如果您真的需要 1:1,那么两个 PK 将是相同的,并且您在它们之间会有一个圆形 FK。您的 DBMS 是否支持延迟约束,这是“打破”循环并允许插入新数据所必需的?


话虽如此,在我看来,这种情况并不像 1:1。正如达米尔建议的那样,它看起来像 1:N 。

于 2012-05-29T15:22:36.410 回答