【发布时间】:2010-06-13 09:54:36
【问题描述】:
员工与其所在的部门具有反向关系,反之亦然。 Employee 实体有一个称为部门的关系,它有一个拒绝删除规则。员工应被删除。现在: DENY 是否真的拒绝删除员工,因为部门仍在引用部门?或者这是否意味着一个部门不能被删除,因为一个员工正在引用它?
【问题讨论】:
员工与其所在的部门具有反向关系,反之亦然。 Employee 实体有一个称为部门的关系,它有一个拒绝删除规则。员工应被删除。现在: DENY 是否真的拒绝删除员工,因为部门仍在引用部门?或者这是否意味着一个部门不能被删除,因为一个员工正在引用它?
【问题讨论】:
删除规则总是从它们被设置的对象的角度来看,所以我认为你的描述倒退了。在这种情况下你想要的是:
员工可以随时删除,与部门的关系应取消。这意味着您将部门关系设置为无效。
只有在没有员工的情况下才能删除部门。这需要一个拒绝规则,该规则将阻止删除包含任何员工记录的部门。
您的描述暗示了相反的意思,这意味着除非将其部门设置为 nil,否则无法删除该员工。虽然肯定有可能,但似乎没有必要。
【讨论】: