我必须设计一个具有父子关系(类别和子类别)的表
在子表中有两个具有parent_id作为外键的表,还是在列中有一个具有parent_id的表是更好的选择。
最佳答案
如果主要类别和子类别具有相同的架构,则为一个表。
如果它们具有不同的架构,则有两个表。 “做错了事”的一个示例是论坛(或电子邮件)架构,该架构试图将Threads
和Messages
放入同一表中。
“ top”类别的parent_id
可以等于0或NULL。子类别应将parent_id
设置为直接父级的id
。请注意,这提供了类别的任意嵌套(在树中,无循环等)。