【发布时间】:2012-07-10 04:24:48
【问题描述】:
我有 2 张桌子。父子表。当我删除父记录时,他们不应该删除子记录。因此我不使用 ON Delete cascade。而且我也根本不想使用外键,因为如果仍然引用了子记录,我将无法删除父记录。使 FKey 可以为空以具有可选关系也是没有选择的,因为只有当存在相关的父级时才能存在子级。
OK FKey 完全删除。在我的实体关系图中,这两个表之间没有关系。但事实并非如此。当我在 6 个月后查看图表时,这可能会产生误导。
你现在会做什么?
【问题讨论】:
-
This->"当我删除父记录时,他们不应该删除子记录。"似乎与“使 FKey 可以为空以具有可选关系也不是选项相矛盾,因为只有当存在相关父级时,子级才能存在。”一个或另一个可以是真的,但不能两者都是。
-
嗯.. 应该没有删除关系,但应该有明显可见的 Get-data-relation,比如获取某个父级的所有子级。在那种情况下,我不需要外键。但是如果没有外键,我根本无法在图表中表达关系。
标签: sql foreign-keys parent-child