我必须设计一个具有父子关系(类别和子类别)的表
在子表中有两个具有parent_id作为外键的表,还是在列中有一个具有parent_id的表是更好的选择。

最佳答案

如果主要类别和子类别具有相同的架构,则为一个表。

如果它们具有不同的架构,则有两个表。 “做错了事”的一个示例是论坛(或电子邮件)架构,该架构试图将ThreadsMessages放入同一表中。

“ top”类别的parent_id可以等于0或NULL。子类别应将parent_id设置为直接父级的id。请注意,这提供了类别的任意嵌套(在树中,无循环等)。

10-03 01:06