【发布时间】:2023-04-09 03:38:01
【问题描述】:
使用一对一关系将一种业务模型设计到多个表中的最佳做法是什么? 假设我有下图;
两个表都代表一个业务对象/实体,即 Person。对于表PersonNationalId,最好的做法是
- 添加添加列
PersonNationalId为主键 - 删除唯一键并将
PersonId标记为主键? (我推荐这个解决方案) - 用唯一键就好了,不用加主键?
我不考虑将业务拆分为两个/多个表,因为我从系统中的不同屏幕更新每个表,并且我想跟踪更改(通过每个表中的 CreatedBy 和 CreatedDate 列)
之前的选择/解决方案的最佳做法是什么?如果您有任何其他解决方案,我将很高兴知道。
提前致谢
【问题讨论】:
标签: database database-design normalization one-to-one