例如,要创建类别层次结构,请使用“parent_id”列,该列指向同一表中的另一个类别。
这应该是外键吗?它的优点是什么?
答案 0 :(得分:30)
是。确保您没有孤儿(没有父级的条目),并且根据使用情况,如果您定义了级联删除,当删除父级时,其所有子级也将被删除。
与任何其他外键一样,缺点是性能略有下降。
答案 1 :(得分:13)
是的,你应该。如果在数据库关系中有一个属性作为同一数据库中另一个关系的主键,则应将其设为FK。
您将享受advantages associated to foreign keys:
缺点:
答案 2 :(得分:5)
是的,你应该。
优点(对于任何外键):
我想不出任何真正的缺点。
答案 3 :(得分:4)
是的,你应该把它变成外键。
好处是更好的数据模型,冗余更少。