【发布时间】:2012-10-03 17:00:25
【问题描述】:
我正在设计一个电子商务,在该电子商务中,每个产品的各种商品都有不同的自定义选项,并且我正在考虑构建我的数据库的最佳方式。例如,我可能想出售红色或白色以及不同尺寸的商品,但另一件商品可能只出售绿色或红色,没有尺寸选项。我有一堆我在下面概述的幼稚方法,但想知道是否有人有任何想法。除非有充分的理由迁移到 NoSQL,否则我希望保持这种关系。
- 选项 1:为每种类型的选项提供一个单独的表格。例如,一个表包含所有可能的颜色列表,另一个表使用颜色子集引用此表并且还与产品相关联。然后会有另一个表格来处理为添加到购物车的实际产品选择的颜色。
- 选项 2: 由于每个产品的选项数量很少,为什么不只使用一组包含每个可能选项的值的列。这基本上是产品表,其中包含一个名为“颜色”的文本列,然后仅列出可用的颜色选项。我个人不喜欢这个,因为它限制太多 - 如果我想将图像与每种颜色相关联或根据选项更改定价怎么办?
- 选项 3: 前两者的组合,其中每个产品都有一组列,这些列将引用可用的自定义选项。例如,每个产品都有一个“颜色选项”列,如果不为空,该列将可用于该产品并指向一组结构良好的选项。
【问题讨论】:
标签: database database-design model database-schema