如何表示具有不同数量/类型尺寸的产品

时间:2014-05-30 18:21:15

标签: database database-design

对于模拟以下关系的数据库,什么是好的设计:

  1. 每个“产品”都有不同的相关尺寸(宽度,高度,密度等)
  2. “商品”是产品,以及每个产品相关尺寸的值。
  3. 事先不知道所有尺寸的集合。

1 个答案:

答案 0 :(得分:0)

执行此操作的常规方法是定义一个包含各种属性的表 - 宽度,高度,密度等。然后定义一个至少包含三个字段的连接表:产品本身,属性及其值。主键是产品和属性。

通过这种方式,您可以轻松列出产品的所有属性,列出一系列产品的属性的所有值,并更改属性的名称。

这种方法优于EVA;虽然它是相同的基本思想,但它更严格,因为属性在表中定义,因此在输入值时充当约束(换句话说,您不能为尚未定义的属性输入值) 。你也保证没有拼写错误 - 有人可能会写'desnity'而不是'密度'。