锁定老帖子 主题:淘宝商品价格存储结构设计
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-09-27
你必须按我说的做,不然你的库存怎么管理,不同size在定义不同库存,电商不是想的那么简单
|
|
返回顶楼 | |
发表时间:2012-09-27
dagmom 写道 一个商品对应多个价格需要另存一张表,性能还好吧,但是你说的不同size对应不同的价格,那么如果再加一个别的比如颜色,你情以何堪,不同size、color,那应该当作不同商品去做,你看看京东、易讯之类的就知道,选择size之后productId是不同的
京东好像是不同的product 淘宝好像是存关联表 类似于之上我说的 |
|
返回顶楼 | |
发表时间:2012-09-27
jinnianshilongnian 写道 dagmom 写道 一个商品对应多个价格需要另存一张表,性能还好吧,但是你说的不同size对应不同的价格,那么如果再加一个别的比如颜色,你情以何堪,不同size、color,那应该当作不同商品去做,你看看京东、易讯之类的就知道,选择size之后productId是不同的
京东好像是不同的product 淘宝好像是存关联表 类似于之上我说的 存关联表对后还是对应到了关联的变型商品product_assoc |
|
返回顶楼 | |
发表时间:2012-09-28
之前也有个类似的项目,我们的做法是这样的:
对于产品,先会对产品进行抽象,也就是说定义产品,产品包含哪些属性。 1,属性(分属性组和属性两个表) Table: user_defined_attribute_group Columns: id, internal_name, display_name, is_variant, ..... 1, size, Product Size, Y 2, color, Product Color, Y 3, brand, Brand, N is_variant属性表示创建产品时,是否指定该产品为一个style item产品(即是否立即指定属性的值)。 Table: user_defined_attributes Columns: id, group_id, internal_name, display_name, sequence, data_type, .... 1, 1, size, Size, 1, C, 2, 2, color, Color, 1, C, 3, 3, brand_name, Brand Name, 1, C, 每个attribute group包含N个attribute。其中对于data_type,N代表数字,C代表字符,D代表日期 2.产品抽象 Table: product_catalog Columns: id, catalog_name,display_name, creation_date, effective_date,...... 1, t_shirt, T Shirt, 2012-09-28, 2012-09-28, 产品是由起属性定义的,那么必须有相应的属性关联 Table: product_catalog_attribute_group Columns: product_catalog_id, attribute_group_id 1, 2 1, 3 那么t-shirt就关联了颜色和品牌属性 3,创建产品 Table: product Column: id, product_catalog_id, product_name, display_name, is_style, is_sku, style_product_id..... 1, 1, nike_shirt, Nike T-Shirt, Y, N, null, 2, 1, adidas_shirt, Adidas T-Shirt, Y, N, null, 3, 1, nike_shirt_red, Red Nike T-Shirt, N, Y, 1, 4, 1, adidas_blue_shirt, Blue Adidas T-Shirt, N, Y, 2, 产品属性表: Table: product_attribute Columns: id, product_id, attribute_group_name, attribute_name, attribute_value, ..... 1, 1, brand, brand_name, Nike 2, 2, brand, brand_name, Adidas 3, 3, color, color, Red 4, 4, color, color, Blue 如果一个catalog包含variant的attribute group,那么根据这个catalog创建的product都为style的,其中variant的attribute group是不指定属性的值,但其他非varaint的值必须指定具体的值。然后可以根据style product创建sku product,即在创建SKU product时指定varaint属性的值。这样做的好处是非常明显的,例如,在定价策略中,可以针对style product定价,而不必针对产品属性来定价(如果有需要的话也可以实现)。属性是可以随业务的需要来确定的,也可以针对不同的属性来扩展实现属性之间的关联以及依赖的关系。 欢迎拍砖。。。。 |
|
返回顶楼 | |
发表时间:2012-09-28
seanla 写道 之前也有个类似的项目,我们的做法是这样的:
对于产品,先会对产品进行抽象,也就是说定义产品,产品包含哪些属性。 1,属性(分属性组和属性两个表) Table: user_defined_attribute_group Columns: id, internal_name, display_name, is_variant, ..... 1, size, Product Size, Y 2, color, Product Color, Y 3, brand, Brand, N is_variant属性表示创建产品时,是否指定该产品为一个style item产品(即是否立即指定属性的值)。 Table: user_defined_attributes Columns: id, group_id, internal_name, display_name, sequence, data_type, .... 1, 1, size, Size, 1, C, 2, 2, color, Color, 1, C, 3, 3, brand_name, Brand Name, 1, C, 每个attribute group包含N个attribute。其中对于data_type,N代表数字,C代表字符,D代表日期 2.产品抽象 Table: product_catalog Columns: id, catalog_name,display_name, creation_date, effective_date,...... 1, t_shirt, T Shirt, 2012-09-28, 2012-09-28, 产品是由起属性定义的,那么必须有相应的属性关联 Table: product_catalog_attribute_group Columns: product_catalog_id, attribute_group_id 1, 2 1, 3 那么t-shirt就关联了颜色和品牌属性 3,创建产品 Table: product Column: id, product_catalog_id, product_name, display_name, is_style, is_sku, style_product_id..... 1, 1, nike_shirt, Nike T-Shirt, Y, N, null, 2, 1, adidas_shirt, Adidas T-Shirt, Y, N, null, 3, 1, nike_shirt_red, Red Nike T-Shirt, N, Y, 1, 4, 1, adidas_blue_shirt, Blue Adidas T-Shirt, N, Y, 2, 产品属性表: Table: product_attribute Columns: id, product_id, attribute_group_name, attribute_name, attribute_value, ..... 1, 1, brand, brand_name, Nike 2, 2, brand, brand_name, Adidas 3, 3, color, color, Red 4, 4, color, color, Blue 如果一个catalog包含variant的attribute group,那么根据这个catalog创建的product都为style的,其中variant的attribute group是不指定属性的值,但其他非varaint的值必须指定具体的值。然后可以根据style product创建sku product,即在创建SKU product时指定varaint属性的值。这样做的好处是非常明显的,例如,在定价策略中,可以针对style product定价,而不必针对产品属性来定价(如果有需要的话也可以实现)。属性是可以随业务的需要来确定的,也可以针对不同的属性来扩展实现属性之间的关联以及依赖的关系。 欢迎拍砖。。。。 大体如此,如果为了扩展的话,把你的product拆分以下,product,product_assoc,product_assoc_type,否则以后还有新的类似于stype_product的关联关系,在product表中加字段不太合适 |
|
返回顶楼 | |
发表时间:2012-10-16
用外键关联,商品表<-->价格表
商品表: 主键 商品名 大小 价格表主键 1 T恤 L 1 ...... 价格表: 主键 价格 1 100.00 |
|
返回顶楼 | |