数据建模之商品管理

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值,达到快速检索的目的。



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

标签: 商品管理 sku

发表评论:

Powered by emlog 京ICP备15045175号-1 Copyright © 2022