数据库设计:为什么某些电子商务数据库有针对产品和product_variants的单独表?

时间:2010-05-27 15:10:31

标签: database database-design

为什么某些电子商务数据库有表格:

  1. 产品
  2. product_variant
  3. 为什么不只有一个产品表包含product_variant和is_default_product(bool)字段的所有字段?

    由于

2 个答案:

答案 0 :(得分:3)

这称为Slowly Changing Dimension

有一些方法可以实现它,它们有其优点和缺点。

使用两个表的解决方案可以更容易地引用其他表中的产品(而不是产品版本)。

答案 1 :(得分:1)

如果只有一个表,则必须修改数据库设计才能添加产品属性。因此,如果您要跟踪表格中的颜色和大小,并且想要添加,例如,inseam,则必须在表格中添加一列。

保留一个单独的属性表可以让您轻松地将属性作为表中的条目进行管理,而不是让它们成为实际设计的一部分。