请选择 进入手机版 | 继续访问电脑版

商品库的详细解答(第一部分)

发表于 06-20 16:25 显示全部楼层 25 443

首先建立一个商品库那就先需要对商品的各个关心进行了解,下面介绍一下几个表以及对应的关系:


blob.png

图1.1


这是作者当前公司的商品库的对应关系,其中是部分关键表的对应关系.

(备注:这里使用的是pdm软件,进行的商品的原型的构建.原型现在在公司中有两种意思:一种原型指的是上图所标示的实体的关系,表示的是数据库对象.另一种原型指的是产品经理给开发人员画的原型,开发人员根据原型做出前端页面以及对应逻辑,此处不赘述)


现在开始进行对各个实体进行解释:

ProdSku,即图1.1中的库存产品单元.通俗理解可以为该实体表示的是对应的最小产品单元.一个对应的商品都可以找到对应的ProdSku.

blob.png

图1.2


    由图1.2可以看到ProdSku中的属性都是对应的一些商品的基本属性.注意此处的产品状态和产品类型,他们是通过枚举类进行标示的,因为状态和类型一般情况下都是特定的,不会随意进行改变的.通常情况下我们都会写成内部枚举类.

    还有此处的商品的类目id(即catalogId)也请注意,此处对其是一个冗余数据处理,因为商品库的80%操作都是进行查询,所以为了查询效率和方便性需要在此处进行冗余.

    此处的品牌id(即brandId),也是进行关联的,非外键关联.我们系统现在是用的是,ProdSku中进行关联商品的品牌id,然后通过id查找对应的品牌实体.但是在图1.1中的原型中是有一个中间表.此处的设计是因为我们之前的设计者将brandId归类为供应商,并非品牌商,所以是多对多的关系,但是后来根据实际需求改为了多对1的关系

blob.png

图1.3


通过看到商品的ProdSku可以知道商品中还有很多属性是无法在ProdSku中全部进行展示的,所以此时需要我们对ProdSku进行拓展了,随之而来的就是sku的属性表ProdSkuProp和sku的属性值表ProdSkuPropValue.

blob.png

图1.4


blob.png

图1.5


    ProdSkuProp此表中的属性表示对应的商品的额外的属性(备注:此处暂时忽略propDefineId,后面讲到spu时再说明).其中的code来源为我们自己建立的枚举内的code.

blob.png

图1.6


    ProdSkuProp中的skuId我们的项目中并没有使用外键关联,因为防止进行操作出现不完全导致的bug,算是一个偷懒的操作吧.

blob.png

图1.7


blob.png

图1.8


    ProdSkuPropValue是对应的sku属性值,(备注:此处依旧忽略valueDefineId),注意此处的有一些处理,第一个是属性值的值value属性,为了通用性它的类型为String,属性idx是进行数据值的排序,如,商品的展示有多个展示图的时候,商品展示图是它的属性,商品展示图的图是它的值,它的顺序就是由值进行排序了.


注意:此处一共讲了三张表,对应的三个实体:ProdSku(商品的库存单元),ProdSkuProp(库存单元的属性表),ProdSkuPropValue(库存单元的属性值表),对应的关系都是一对多!!!

回复 使用道具
举报
望断雁南飞

发表于 08-13 09:26 显示全部楼层

回复 支持 反对 使用道具
举报
小黑蜗牛

发表于 08-07 16:42 显示全部楼层

回复 支持 反对 使用道具
举报
正怒月神

发表于 07-11 21:48 显示全部楼层

为了学币每天必水一下,望见谅

回复 支持 反对 使用道具
举报
周牧

发表于 07-11 21:48 显示全部楼层

回复 支持 反对 使用道具
举报
一路奇奇

发表于 07-11 21:48 显示全部楼层

回复 支持 反对 使用道具
举报
寻找皮卡丘

发表于 07-11 21:48 显示全部楼层

回复 支持 反对 使用道具
举报
PPAP!

发表于 07-11 21:48 显示全部楼层

给楼主32个赞!!!!!

回复 支持 反对 使用道具
举报
GHOST

发表于 07-11 21:48 显示全部楼层

回复 支持 反对 使用道具
举报

回复 支持 反对 使用道具
举报
123下一页

发表新文章
青埂峰峰主

小码哥会员

0

学分

201

学币

377

积分

小码哥会员

Rank: 3Rank: 3

积分
377

关注新浪微博关注小码哥教育公众号活动达人勋章

Ta的主页 发消息
精华帖排行榜

精彩推荐

  • 关注小码哥教育