【问题标题】:How to design one business model to multiple tables?如何设计一个业务模型到多个表?
【发布时间】:2023-04-09 03:38:01
【问题描述】:

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

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

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

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

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

提前致谢

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    【解决方案2】:

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


    话虽如此,在我看来,这个案例并不像 1:1。看起来像 1:N,就像 Damir suggested

    【讨论】:

    • 这个例子不是我的例子,但我想举一个类似的例子
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多