商品规格表(即: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字段分别抽取到单独的表中。
/*
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