淘宝商品属性设计

这篇文章是读了,网名为“活雷锋”的前辈写的这方面的4篇博客写的思考与总结。

原博客地址为:http://www.cnblogs.com/mmmjiang13/tag/%E6%B7%98%E5%AE%9D%E5%95%86%E5%93%81%E8%AE%BE%E8%AE%A1/

既然是商品属性,就先说说这个属性。

1.几个属性
①关键属性
关键属性+类目=产品
关键属性=品牌+系列
②销售属性
销售属性可以确定SKU(库存量单位)
③非关键属性
一些商品的描述,便于用户了解商品信息


2.产品概念
产品由类目+关键属性唯一确定
产品除了关键属性,还包括一般信息、销售属性和非关键属性
关键属性=品牌+型号
比如Nokia 5230就是一个产品,其中Nokia是品牌,5230是型号


3.属性名表和属性值表
用两个表,一个专门存储属性名,一个专门存储属性值,通过pid关联起来。
这样做的好处是,将属性名也作为一种记录取值存储,便于扩展任意属性。
下面称属性名表为P表,属性值表为V表
P表
pid(PK)
cid
p_name
p_pid
p_vid


V表
vid(PK)
cid
pid(FK)
v_name


其中,cid表示类目,是表示一个大类。pid表示属性名id。
而V表中的pid表示这些条目是表示哪个属性的。


P表中的属性名是有层级关系的,但是这种层级关系并不那么直接。
假如现在有属性名A,而属性B是A中的一个实例,而这个实例又有属性名C。
这个时候,属性名A和C都在P表中,并且C.p_pid=A.pid,C.p_vid=B.vid而B.pid=A.pid
例如,cid=洗发水,A.name=品牌,B.name=清扬,C.name=型号
A是一个属性名,其属性值可能是清扬、海飞丝、飘柔
C也是一个属性名,其属性值可能是去屑型、润发型、清爽型


4.品牌与系列的表示

品牌系列要单独放在属性名表和属性值表是因为
其他属性都没有父子关系,但是品牌这个属性和系列这个属性存在父子关系
如果把品牌和系列都放在属性名表和属性值表中,就必须还要表示出这种父子关系。
结果是存在多级引用,存在很大的复杂度。
所以把品牌系列单独拿出来表示。
但是这里它还是没有说清楚如何表示。


5.针对《非小型电子商务系统设计经验分享》的问题

(1)类目本身的层级是如何实现的?
比如服装鞋包-》女装/女士精品-》T恤
(2)品牌与系列是如何实现的?
那个品牌系列表怎么靠一张表把品牌与系列囊括进去的,还是说这是3张表的结果?
(3)品牌与类目的关系本来就是多对多,它是如何实现的?
在图中它的品牌表中只有一个分类id无法表示多对多关系的说。
(4)关键属性也是属性,为什么没有继承基本属性表呢?
sku都能继承基本属性表。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值