我有一个使用软删除的简单模式(这就是它的设计方式并且无法更改)。有两个表参与架构:Company (id, is_deleted)
其中当然是表的Employee (id, company_id, is_deleted)
FK 。规则是:company_id
Company
- 如果一个
Company
有is_deleted = true
,那么所有Employee
提到的那个公司都应该有is_deleted = true
。 - 但是即使父母有,
Employee
也可能有。is_deleted = true
Company
is_deleted = false
我的两个问题是 a) 如何执行这些约束?b)当a被软删除时,如何最简单地确保is_deleted = true
级联。Company
我添加了标签 postgresql 和 sql server 因为这些是我最感兴趣的数据库。如果其他 rdbms:es 中还有其他解决方案,我也想听听它们。