最近看到一个题目,要求提出一套商品属性相关的数据库设计思路,要求是商品属性的类别(例如品牌,尺寸,颜色...)不确定,各个属性类别的属性值(例如品牌可能是HP,IBM...)不确定,同时需要实现针对不同属性类别的商品检索,例如检索出品牌为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_info表中的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));

转载于:https://www.cnblogs.com/zhangym/p/6611572.html

商城产品属性数据库设计相关推荐

  1. 夺命雷公狗ThinkPHP项目之----商城6数据库设计和完成后台首页

    废话步多说,我们开工, 数据库设计如下所示: SQL语句如下: #创建数据库 create database shopp charset utf8;#选择数据库 use shopp;/*------- ...

  2. mysql创建表shop_ShopXO商城-支付方式 - 数据库设计 - 数据库表结构 - 果创云

    -- 数据库大全:ShopXO商城-支付方式 -- 来源:YesApi.cn CREATE TABLE `yesapi_shopxo_s_payment` ( `id` bigint(20) unsi ...

  3. 仿天猫商城后台数据库设计及运用

    仿天猫商城数据库关系 仿天猫商城系统页面 后台数据页面.功能和SQL语句 1. 功能:向数据库category表中插一条数据,后台记录商品类 INSERT INTO category(name)VAL ...

  4. 基于SSM的宠物动物猫狗商城【数据库设计、源码、开题报告】

    数据库脚本下载地址: https://download.csdn.net/download/itrjxxs_com/86469281 主要使用技术 Spring+SpringMVC+Mybatis+E ...

  5. 含论文基于JAVA零食销售商城【数据库设计、论文、源码、开题报告】

    数据库脚本下载地址: https://download.csdn.net/download/itrjxxs_com/86500759 主要使用技术 Servlet+JSP+css+js+Mysql+T ...

  6. 商城系统-数据库设计

    说明 我这里只提供相关博客链接,个人觉得博主博客写的不错,所以整理链接搬上来,方便查看 内容 1.电商系统--用户模块:https://segmentfault.com/a/1190000015294 ...

  7. 商城项目中信息的集合怎么存储_网上商城项目_数据库设计说明书.doc

    秘密 第 PAGE 2 页 共 NUMPAGES 10 页 信用卡网上商城项目 数据库设计说明书 文件修订历史 修订时间 修订说明 作者 审核 2010.08.05 编写数据字典 谭星佑 曾玉贞 20 ...

  8. 中小型超市系统中的分类/产品属性/扩展属性的数据库设计

    中小型商城系统中的分类/产品属性/扩展属性的数据库设计 正文: 之前发表过一篇"商城系统中[商品扩展属性]的表单生成及客户端验证",部分童鞋对于后台数据库的设计比较感兴趣,于是今天 ...

  9. 商城系统商品属性的数据库设计思路

    京东商城的数据库是如何搭建的,那么多商品,每种商品的参数各不相同,是怎样设计数据库的? 在提及这种设计思路前,首先得了解数据表可以分为两种结构: 1\横表,也就是我们经常用到的表结构, 2\纵表,这种 ...

最新文章

  1. MPLS由何而来?—Vecloud微云
  2. 《javascript面向对象编程指南》读书笔记
  3. 中职学校计算机专业的论文,中职计算机论文范文2篇
  4. 算法训练 Pollution Solution(计算几何)
  5. Linux之crontab命令
  6. pandas + sqlalchemy mysql
  7. android上的单片机编程软件下载,AVR单片机编程软件(AVR_fighter)
  8. 使用Tftpd64收集交换机日志
  9. HTML中的window对象和document对象详解
  10. 舞魔金星[读书笔记]
  11. SPA是什么及原生js实现简易SPA单页面
  12. oCPC和oCPM的本质区别是什么?
  13. three.js纹理贴图不显示
  14. Ubuntu16.04平台下桌面窗口管理器:Xmonad 使用心得
  15. 小米手机 5 开启【开发者选项】
  16. js 刮一刮_刮擦刮擦
  17. springboot集成redis报错找不到bean
  18. 福禄克DTX-1800与 DSX 系列(DSX-5000、DSX-8000)有什么区别?
  19. ASP.NET MVC俗气的罗斯文示例代码
  20. AIX中经常使用的SMIT 的使用

热门文章

  1. 电信话务查询真的那么难?
  2. 计算机启动后出现黑屏鼠标,电脑开机黑屏只有鼠标,小编教你电脑开机黑屏鼠标能动怎么办...
  3. VS2019中Git源代码管理总结
  4. Java 一个数字、字母、汉字各占几个字节
  5. poi XWPFDocument文档转换成io流
  6. 二、入门Python第二课
  7. 最新易企秀 微场景制作源码 易企秀去版权源码 带几百套模板
  8. 只用一个div画一个小米logo
  9. java如何将二进制转换为十进制
  10. 请每一个孝顺的子女耐心的看下去!