【问题标题】:How to create relationship in DB如何在数据库中创建关系
【发布时间】:2021-02-05 13:01:14
【问题描述】:

我必须创建三个表 ACCOUNTING_POINT 作为 AP,METER_CHANGE 作为 MC,METER 作为 M,表 MC 将 AP 与 M 结合,但我应该确保 M.id 在从 AP 到 MC 的行中是唯一的。所以我应该确定AP永远不会引用一些具有相同M.id的MC。它看起来像这样:

这是描述我的问题的图片,红色行表示问题

我知道我可以在表 MC 中使用属性“实际”并创建 pk_meter_id_actual = unique,但我想避免使用此属性。我应该保留 MC.ap_id 用于历史记录和 AP.meter_change 用于连接

【问题讨论】:

    标签: sql postgresql jpa database-design


    【解决方案1】:

    It looks like this:

    我通过在表 MC 中添加布尔属性“实际”和两个约束来解决它: CREATE UNIQUE INDEX meter_id ON MC (meter_id, actual) WHERE (actual is true); CREATE UNIQUE INDEX ap_id ON MC (ap_id, actual) WHERE (actual is true);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多