电商平台的商品表该如何设计?
·
本文记录一下我的毕设项目(电商)中商品表是如何设计的。
起初并没有考虑太多,只定义了一张 product 表,其中包含商品标题、价格等基本信息。
后来参考京东、淘宝他们的设计时发现这种简单的设计无法实现多种规格的选择,如图:
于是开始搜索看看别人是怎么设计的。
首先了解到一些电商中的基本概念:
1)SPU:标准化产品单元,就是某一款商品的集合。
2)SKU:库存量单位,是商品销售的最小单位。
用上图的商品举例,荞麦面本身是SPU。其中的每一个规格:100g、400g、1000g的都是一个SKU,SKU各自有独立的库存,且他们都是荞麦面属于同一个SPU。
了解到这些后理所当然的创建了SPU表和SKU表,接着看商品详情页面。
主要是kv结构的商品属性和一个html的详情。
我的思路是如果商品属性任由商家指定,那么即使都是同一款商品也会出现五花八门的属性,不便于管理;所以系统根据分类预先提供好有哪些属性,商家只要选填即可。(后期可考虑自定义属性)
属性表的核心字段:
其中基本属性就是在商品详情中展示的,销售属性是可选的规格(对应图1)
这里只预设了属性的k,相对应的就有spu_attr_value、sku_attr_value
其中只有简单的几个字段:id、spuId、attrId(对应属性表中的某个属性)、attrValue(属性的值)
总结一下,表结构大致如下:
其实关于表结构还有其他优化的点,例如之前提到的html富文本的商品详情内容,属于大字段,可以单独拆分为一个表,减少主表体积,提升查询效率。
商品图片和商品是一对多的关系,也可以单独拆分一个商品图片表,与spu或sku关联。
更多推荐


所有评论(0)