【精品】商品规格 数据库表 设计

特点

  • 同一类商品的规格项分组一样

  • 同一类商品的规格项一样

  • 不同商品的规格值是不同的

    规格参数
    规格组
    规格项:规格值

本博客对应的SQL文件下载地址:https://download.csdn.net/download/lianghecai52171314/88306884

方案一

数据库设计

查询17号商品的规格

sql 复制代码
SELECT
	tb_specs_group.group_name, 
	tb_specs.specs_name, 
	tb_specs_value.specs_value
FROM
	tb_goods
	LEFT JOIN
	tb_specs_value
	ON 
		tb_goods.id = tb_specs_value.goods_id
	LEFT JOIN
	tb_specs
	ON 
		tb_specs_value.specs_id = tb_specs.id
	LEFT JOIN
	tb_specs_group
	ON 
		tb_specs.specs_group_id = tb_specs_group.id
	LEFT JOIN
	tb_category
	ON 
		tb_goods.category_id = tb_category.id AND
		tb_specs_group.category_id = tb_category.id
WHERE
	tb_goods.id = 17

结果:

存在问题

  • 需要创建多张表来描述规格参数之间的关系
  • 查询时需要构造复杂的SQL语句
  • 规格参数的数据量十分庞大,是商品信息的几十倍,查询效率很低
  • 无法实现:要求新添加的商品的规格项发生改变,之前的商品不变的需求

方案二:模板思路