如何将一个业务模型设计为多个表?

时间:2012-05-29 10:33:44

标签: database database-design normalization one-to-one

使用一对一关系将一个业务模型设计到多个表中的最佳做法是什么? 让我们说我有以下图表; Demo Diagram

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

  1. 添加附加列PersonNationalId作为主键
  2. 删除唯一键并将PersonId标记为主键? (我推荐这个解决方案)
  3. 使用唯一键很好,我们不需要添加任何主键吗?
  4. 我不打算将业务分解为两个/多个表,因为我从系统中的不同屏幕更新每个表,并且我想跟踪更改(通过CreatedByCreatedDate列每个表)

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

    提前致谢

2 个答案:

答案 0 :(得分:1)

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

enter image description here

答案 1 :(得分:1)

如果你真的需要1:1,那么两个PK都是相同的,你之间会有一个圆形的FK。 DBMS是否支持延迟约束,这些约束是“中断”循环并允许插入新数据所必需的?


话虽如此,这个案子对我来说并不像1:1。它看起来像1:N,如Damir suggested