随笔记录
数据建模之商品管理
2016-7-3 diaba


    最近在做一个系统,包含商品管理部分,需求是商品的属性可能增删改,要求不更改表结构的前提下,支持商品属性的增删改,同时支持属性值的增删改,属性值要支持,精确取值和范围取值,比如,商品长宽高,即是精确取值,取值是多少cm;而商品适合人群的取值,比如0-18岁、19-60岁、>60岁的取值,支持范围取值。



    为了支持上述需求,那么存储商品时,设计三个表,如下图所示,并进行分别介绍:














   商品表——此表中存储商品的基本信息,这些信息是不变化的;



   商品属性表——此表中存储商品属性列表,该属性列表会随着商品的不同,可能有不同;



   商品属性值表——此表存储属性表中定义的属性对应取值,取值可以精确取值,也可以范围取值。







   图片中第二行中的两个表(商品sku表、sku属性表)两张表存储的是根据上面的三个表,生成的商品sku记录。不同商品属性取值,会对应不同商品sku记录,不同sku对应的商品价格有可能不同。为了更方便的获取用户选择的一组商品属性取值对应的商品sku,设计了两个字段:1.sku属性json值,存储用户选择的商品属性取值组合对应的json字符串;2.方便商品sku检索,减少字符串的对比性能损耗,提高系统性能,添加了sku属性json加密串字段,该字段可以是“sku属性json值”的md5值,这样每次可以只需要对比该字段即可,而无需对比json值,达到快速检索的目的。











以上,有问题会随时更新,待完善。

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容