电子商务应用中商品的数据结构设计(一) 我需要满足什么样的需求
最近一直在忙着自己第一个完整的产品,叫 Oak Commerce,橡果电子商务系统,该系统是一个基于平板电脑的提供给线下时尚产业零售和批发商使用的进销存、财务以及客户关系管理系统,系统里面还融合了现在流行的微信营销系统以及在线电子商城系统,该系统中商品类型包括了鞋、帽、衣、裤、围巾等,对于商品数据结构的设计,在我看来,放在了整个系统中的重中之重的地位,为了能帮助自己完全的理清思路,所以,也见解了很多优秀的开源电子商务系统,在自己的博客里,就慢慢地记录这整个过程,这一系列的文章会一直更新到我完成这个数据结构的设计,本文是该系列日志的第一篇,介绍我所需要满足的真实的业务需求。
定义
引用淘宝商品类目数据结构设计中的对属性的归类,商品的属性分为以下三种:
- 关键属性:能够确认唯一产品的属性,可以是一个,或者多个关键属性的组合,比如:相机的"品牌""型号"能确定唯一的产品,服装的"品牌""货号"能确定唯一的产品
- 销售属性:组成SKU的特殊属性,它会影响买家的购买和卖家的库存管理,如服装的"颜色"、"套餐"和"尺码",注意这里的SKU,淘宝销售属性组合成SKU
- 非关键属性:就是商品属性了,一些对商品进行描述的属性
商品的类型
时尚产业中,最常见的商品类型包括下面这几种:
- 衣服
- 裤子
- 鞋子
- 帽子
- 袜子
- 内衣
- 内裤
- 手套
- 帽子
- 其它
以上这些商品类型的关键属性均包括以下两个:
- 品牌
- 货号
库存管理
进销丰系统中的首要任务就是库存管理,而库存受销售属性的影响,根所系统中所有可能出现的商品类型,系统的销售属性可能有下面两个:
- 颜色
- 尺码
由于品牌的不同,所遵循的尺码标准也不同,所以,系统除了可以根据颜色可尺码对商品进行库存管理外,还需要满足一个条件,那就是尺码可以根据所执行的标准不同而归组,常见的尺码组有下面这些:
- 中国 160-165/84-86、165-170/88-90、167-172/92-96、168-173/98-102、170-176/106-110
- 国际 XS、S、M、L、XL
- 美国 2、4-6、8-10、12-14
- 欧洲 34、34-36、38-40、42、44
商户在建立任何一种商品的档案时,都可以为该商品自由的指定一种尺码组,而且还可以设定该商品的尺码属性(即有哪些尺码,现实业务中,不可能任何衣服的尺码都从XS 到 XL,有可能XS厂家就不生产),尺码组只要确定,则该商品就不能再选择其它的尺码组了。
同样的颜色具有两种添加方式,一种是单色商品可以直接从系统中选择一种颜色,另一种是多色商品,商户可以选择花色,但是由于一种商品可能出现多种花色,而不同的花色同时有可能也需要进行库存管理,所以,颜色还可以让用户进行自定义,自己起名或者拍照,将一种花色的商品拍照设置成为商品的颜色。
不管是尺码还是颜色,在档案建立之后,均可以添加,但是对于尺码而言,只允许在商品档案现在的尺码组中添加,不允许添加其它尺码组中的尺码。
对商品的描述属性
这些属性不属于关键属性,而是属于描述商品特征的属性,不同的商品类型之间可能有公共的描述属性,也可能有属于某一个类型的特殊描述属性,为了系统的合理性,我们放弃更多的自由度,即商户在选择了商品类型之后,描述属性必需按照系统所制定的标准描述属性添加(可以留空,但不允许添加自定义的描述属性)
让用户在初次使用时做的更少。后期如果他们有更多的能力系统还支持对其的修改。
没想着修改了,慢慢的慢慢的,把系统都精简到只有手指那样儿的了……