例如,要创建类别层次结构,您可以使用列“parent_id”,它指向同一个表中的另一个类别。
这应该是外键吗?缺点/优点是什么?
例如,要创建类别层次结构,您可以使用列“parent_id”,它指向同一个表中的另一个类别。
这应该是外键吗?缺点/优点是什么?
是的。确保您没有孤儿(没有父项的条目),并且根据使用情况,如果您定义级联删除,当父项被删除时,其所有子项也将被删除。
缺点是会像任何其他外键一样对性能造成轻微影响。
是的你应该。如果您在数据库关系中有一个属性作为同一数据库中另一个关系的主键,则应将其设为 FK。
您将享受与外键相关的优势:
缺点:
是的你应该。
优点(对于任何外键):
我想不出任何真正的缺点。
是的,您应该将其设为外键。
好处将是具有更少冗余的更好的数据模型。