现在的位置: 首页 > web前端 > 正文

天猫商城货物属性表设计

2020年07月17日 web前端 ⁄ 共 1077字 ⁄ 字号 评论关闭

  最近看到一个题目,要求提出一套商品属性相关的数据库设计思路,天猫商城货物属性表设计,要求是商品属性的类别(例如品牌,尺寸,颜色...)不确定,各个属性类别的属性值(例如品牌可能是HP,IBM...)不确定,同时需要实现针对不同属性类别的商品检索,例如检索出品牌为XX,尺寸为XX,颜色为XX的商品,各条件为AND操作,另外每个属性类别的条件可能为品牌=XXor品牌=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*fromgoods_specwherespec_info_id=5andgoods_idin(selectgoods_idfromgoods_specwherespec_info_id=6andgoods_idin(selectgoods_idfromgoods_specwherespec_info_id=1orspec_info_id=2));


  PS:这些商品的搜索都是基于数据库SQL的,可以看出用户选择了几个条件,最终的SQL就会有连几张数据库表的SELECT查询。我已经用红色粗体标出!!


  总之,天猫商城货物属性表设计给大家简单的介绍了一些,希望大家多看看。

抱歉!评论已关闭.