sql – 在数据库中干净地表示电子商务产品和变体

我有一个我正在建设的电子商务商店.我正在使用Rails / ActiveRecord,但实际上没有必要回答这个问题(但是,如果您熟悉这些内容,请随时回答Rails / AR).

商店的要求之一是它需要代表两种类型的产品:

>简单的产品 – 这些产品只有一个选项,例如乐队的CD.它有基本的价格和数量.
>有变化的产品 – 这些产品有多种选择,例如有3种尺寸和3种颜色的T恤.尺寸和颜色的每种组合都有自己的价格和数量.

我过去做过这种事情,做了以下事情:

>有一个产品表,其中包含产品的主要信息(标题等).
>有一个变量表,其中包含每种变体的价格和数量信息.产品has_many变种.
>对于简单的产品,它们只有一个关联的Variant.

有没有更好的方法可以做到这一点?

解决方法

几年前我在制作电子商务产品,我们按照你描述的方式做了.但我们又增加了一层来处理同一产品的多个属性(大小和颜色,就像你说的那样).我们分别跟踪每个属性,并且我们有一个“SKU”表,其中列出了每个产品允许的每个属性组合.像这样的东西:
attr_id   attr_name  
1         Size  
2         Color  

sku_id    prod_id    attr_id    attr_val  
1         1          1          Small  
1         1          2          Blue  
2         1          1          Small  
2         1          2          Red  
3         1          1          Large  
3         1          2          Red

之后,我们添加了库存跟踪和其他功能,我们将它们绑定到sku ID,以便我们可以单独跟踪每个功能.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...