【发布时间】:2014-03-26 20:56:42
【问题描述】:
我们有一个数据库,每个数据库都有一堆类别。层次结构是这样的:
Department
-- Necklaces
-- N_Diamond
-- N_D_Silver
-- N_Silver
-- Rings
-- R_Diamond
-- R_Gemstone
每个顶级类别(项链、戒指)都有一个父类别(部门),而这些顶级类别中的每个类别都只有一个父类别(即 N_Diamond 是 N_D_Silver 的父类别)。
在每个类别中,都会有一个产品列表。每个产品可以属于多个类别(一对多?)。
如何在数据库中组织这些?一个产品表,其中每一行都是一个产品+它所在的类别?这意味着每个产品可以有几行。不过,这似乎不太规范。
【问题讨论】:
-
我想知道子类别(项链、戒指、N_Diamond 等)本身是否有属性/字段,因为这可能是
generalization/specialization或superclass/subclass的情况,否则您只需创建参考表正如下面已经给出的答案所示。
标签: sql database-design