【发布时间】:2015-11-21 19:39:19
【问题描述】:
例如,要创建类别层次结构,您可以使用列“parent_id”,它指向同一张表中的另一个类别。
这应该是外键吗?有什么缺点/优点?
【问题讨论】:
标签: database database-design foreign-keys
例如,要创建类别层次结构,您可以使用列“parent_id”,它指向同一张表中的另一个类别。
这应该是外键吗?有什么缺点/优点?
【问题讨论】:
标签: database database-design foreign-keys
是的。确保您没有孤儿(没有父项的条目),并且根据使用情况,如果您定义级联删除,当父项被删除时,其所有子项也将被删除。
缺点是会像任何其他外键一样对性能造成轻微影响。
【讨论】:
是的,你应该这样做。如果您在数据库关系中有一个属性作为同一数据库中另一个关系的主键,则应将其设为 FK。
你会喜欢advantages associated to foreign keys:
缺点:
【讨论】:
是的,你应该这样做。
优点(对于任何外键):
我想不出任何真正的缺点。
【讨论】:
是的,您应该将其设为外键。
好处是冗余更少的更好的数据模型。
【讨论】: