0
我在Postgres 9.3數據庫中有以下場景:表B和C參考表A;表C具有引用表B的附加可選字段。我想確保對於引用表B的表C的每個行c,c.b.a = c.a.postgres:涉及多個表的外鍵約束
- 我可以重構表C,這樣如果指定了c.b,c.a就是null,但這會使查詢連接表A和C變得尷尬。
- 我也可以使表B的主鍵包含對錶A的引用,然後使表C的表B的外鍵包括表C對錶A的引用,但是我認爲這種調整太不合理,不足以證明其好處。
- 我認爲這可以通過在表C插入/更新之前運行的觸發器來完成,並拒絕違反指定約束的操作。
在這種情況下是否有更好的方法來執行數據完整性?
你不得不使用觸發器和適當的鎖定。 – 2014-09-27 07:06:51