商品数据采用分表设计:goods表存核心字段;goods_sku表分离SKU,用JSON存规格值;goods_specification和goods_image表结构化存储参数与图片;category、brand、attribute表解耦维度信息。

商品基本信息用主表承载
商品核心字段放在 goods 表中,包括:id(主键)、title(商品标题)、subtitle(副标题)、description(富文本详情)、category_id(类目ID)、brand_id(品牌ID)、status(上下架状态:0下架/1上架)、sort(排序权重)、created_at 和 updated_at。避免把详情、参数、SKU等全堆进一张表,否则扩展性差、更新锁表风险高。
规格与SKU必须分离建模
一个商品可有多个销售单元(如“iPhone 15 黑色 256GB”、“iPhone 15 蓝色 256GB”),需独立建 goods_sku 表:id、goods_id(关联商品)、sku_code(唯一编码,建议业务生成如 G15-256-BLK)、price、cost_price、stock、spec_values(JSON 存规格值组合,如 {"color":"黑色","capacity":"256GB"})。不推荐用多张规格表硬关联,JSON 方式更灵活,搜索靠应用层或加冗余字段(如 color、capacity)辅助查询。
商品参数和详情图结构化存储
goods_specification 表存标准参数(如重量、屏幕尺寸、CPU型号),字段为:goods_id、name、value、sort;goods_image 表管理图片,含:goods_id、url、type(cover/main/detail)、sort。这样支持多图、主图轮播、详情页图文混排,也便于CDN分发和前端按需加载。
类目、品牌、属性做维度表解耦
单独建 category(类目)、brand(品牌)、attribute(通用属性,如“是否支持防水”)三张维度表,用外键关联商品主表。类目支持三级结构(parent_id 实现树形),品牌表预留 logo、desc 字段;attribute 可绑定到类目,实现「手机类目下显示“5G支持”、“快充功率”等属性」,方便后台动态配置商品录入表单。










