商城产品属性数据库设计

商城产品属性数据库设计
最近看到⼀个题⽬,要求提出⼀套商品属性相关的数据库设计思路,要求是商品属性的类别(例如品牌,尺⼨,颜⾊...)不确定,各个属性类别的属性值(例如品牌可能是)不确定,同时需要实现针对不同属性类别的商品检索,例如检索出品牌为XX,尺⼨为XX,颜⾊为XX的商品,各条件为AND操作,另外每个属性类别的条件可能为品牌=XX or 品牌 = YY这样的OR操作,最终实现出类似淘宝商品检索页⾯那样的功能如下(品牌,裤长等条件为AND关系,品牌中的可以选择多个品牌,为OR关系)
经过⼀番思考,数据库设计如下:
属性类别表spec
spec_id —— 属性类别id
spec_name —— 属性类别名称
属性值表spec_info
spec_info_id —— 属性值id
spec_id —— 属性类别
spec_info_name —— 属性值名称
商品表goods
goods_id —— 商品id
goods_name —— 商品名称
商品属性表goods_spec
goods_spec_id —— 商品属性id
goods_id —— 商品id
spec_info_id —— 商品属性值id
建⽴以上4个数据库后,spec表存放的是品牌,颜⾊,尺码等的属性名,spec_info表存放的是红⾊,蓝⾊,HP,IBM等的实际的属性值,再通过goods_spec表将⼀个商品跟它的属性进⾏关联,这样要实现类似淘宝的检索功能的SQL语句就可以编写如下:
假设要检索品牌为IBM或HP(在spec_info表中的spec_info_id 分别为1和2),颜⾊为红⾊(在spec_inf
o表中的spec_info_id 为6),尺码为15⼨(在spec_info表中的spec_info_id 为5)的商品
$sql = "select * from goods_spec where spec_info_id = 5 and goods_id in (select goods_id from goods_spec where spec_info_id = 6 and goods_id in (select goods_id from goods_spec where spec_info_id = 1 or spec_info_id = 2));

本文发布于:2024-09-22 05:36:38,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/452983.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:属性   品牌   商品   类别   检索   数据库   设计   实现
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议