电商系统商品模型

相关概念

  • 货品:指一种概念物品,是抽象的,并不是一个具体的实物,是一种称谓。例如iphone6就是一种货品。
  • 商品:当货品具备具体的属性、价格等等一些具体的东西,构成实物时,就是商品。商品是库存中一个具体的实物,用户购买的就是商品不是货品。例如:iphone6-金色-32g-移动版就是一个商品。
  • SPU:即标准化产品单位,是最接近用户认知的产品单元。比如iphone6、iphone4、小米4都是SPU。
  • SKU:即库存量单位,例如有iphone6这个SPU,当用户购买时要确定买什么颜色的、内存多大的、支持  什么网络等等。就用库存单元SKU去规范它。库存里存在的东西是具体某种规格的。

分析与设计

基于上面概念的理解,我们设计相应的数据库:

SPU和SKU有自己的编码,方便库存统计和后台系统管理。价格在SKU里,不同规格的SPU价格肯定不一样。SPU与分类和品牌相关联。如iphone6属于手机分类、苹果品牌。一个SPU也可能属于多个分类,可以做成多对多关系。理解了这个,我么参考一下商品详情页的设计:

这就是一个SKU详情页,不同的颜色、版本、容量肯定有不同的价格和不同的SKU。关于属性是非常多的,不同的货品有不同的属性,我们怎么去管理呢?我们引入【属性】和【属性选项】。属性就如上图的颜色、版本、容量等等。属性选项就是对应于属性的,比如对应颜色的金色、银色、深空灰、玫瑰金,对应版本的公开版,移动4G等等。 【属性】和【属性选项】 是一对多的关系,而属性选项和SKU是多对多的关系。设计如下:

这儿设计属性对于一个分类,属性和分类是一对多的关系,如手机分类的属性有颜色、版本、容量等,寸衫分类有颜色、尺寸等。这种一对多的关系会有一些数据冗余,如手机和寸衫都会有颜色。对于商品规模小,数据量不太大的电商,可以牺牲冗余来体验商品发布者的体验。也可以设计成多对多的关系。接着看一下规格:

规格是代表这个SKU具体的各项参数,详细的产品规格说明。可以通过规格和其他同类做对比。也可以将部分规格参数用到列表的筛选条件:

我们可以设置哪些规格显示在详情页中,哪些规格显示在列表页筛选中。最终商品模型的雏形如下:


当然,成熟的大型电商商品模型要比这个复杂的多。有各种价钱还要进行成本核算,要与营销活动结合,折扣,打包购买价格等等。

http://www.cnblogs.com/cnblogs-programs/articles/5651557.html

原文地址:https://www.cnblogs.com/jifeng/p/7580441.html