Bootstrap

【精品】电商项目 中 基于SPU与SKU的 商品 数据库表设计

商品规格表(即:sku表):tb_product_specs

存储商品的具体规格单品,即sku。sku表保存的是具体的单品信息,比如具体规格的库存和价格等,核心字段是product_id和product_specs:

  • product_id 记录的是spu表中的商品id

  • product_specs 记录的是该单品具体的属性值(规格值);

属性:id,product_id,product_specs等

属性key表:tb_attribute_key

用于存储sku的属性,比如:机身颜色,存储容量

属性key表和属性value表仅用于管理后台页面生成属性选项,管理员在发布新商品时勾选属性,方便规格的录入和保证正确性;

属性value表:tb_attribute_value

用于存储sku的属性值,比如:6+128G,8+128G,8+256G

总结

上述数据表设计方案适用于商品类别差异不是很大的情形,通过表的字段可以发现不同的商品之间变化的信息只有 attribute_list 字段, 而这个字段通过json来存储各种不同的属性集合, 同样sku表中变化的字段只有 product_specs 也是通过json来存储各种不同属性组合。

改进方案


将tb_product、tb_brand、tb_product_specs表中的info字段分别抽取到单独的表中。

附:相关表的SQL文件


/*

Navicat Premium Data Transfer

Source Server : localhost

Source Server Type : MySQL

Source Server Version : 80025

Source Host : localhost:3306

Source Schema : test

Target Server Type : MySQL

Target Server Version : 80025

;