我想听听有关将论坛类别和子类别保留在同一个表格或两个单独的表格中是否更好的意见......
假设您有一个表ForumCategories。通过在同一个表中添加引用PK Id的colum ParentId,您可以轻松地将主要类别和子类别保留在同一个表中。
或者,您可以创建一个单独的表ForumSubCategories,并使该表上的Id成为ForumCategories表的FK引用PK Id列。
两种解决方案都有效但每种解决方案的优缺点是什么?
显然,这是一个更通用的问题,可以应用于许多其他场景我只是无法在匆忙中提出更好的措辞......
答案 0 :(得分:2)
我想不出使用2个表的任何好处。使用2个表将限制您使用2级树。如果将事物看作对象,那么子类别实际上只是类别对象。所以把它们放在同一张桌子上。 1表结构将更易于设计和开发查询。
答案 1 :(得分:1)
如果您确定您的论坛只有2个级别的类别,那么拥有2个表是合理的。
虽然将类别存储在一个带有外键的表中,但基本上允许您存储具有虚拟无限级别的类别树。
答案 2 :(得分:0)
如果它们是同一个实体(类别),您可以链接到自己。父对象的父ID将为null,或者可以将其链接到自身。这限制了您只有一个级别,除非您有第二个表来处理多对多可能的关系。
它们必须具有相同的字段,否则您将拥有一个或另一个类型的不必要字段。一个单独的表格就是你这样做的原因,因为它们不一样。
这是员工表的典型情况。主管是另一份员工记录。