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