数据库设计

分类、品牌、商品这上面我已提起,就不说了说说属性。
你的意思是如:电视有尺寸、分辨率属性,冷柜类可能有款式、容积的属性,也就是说不同的商品有不同的属性这样是吧?首先要分析一点,同分类的属性值应该是相同,如加湿器他的容积是1.0L以下、1.0L-2.0L、2.1L-3.0L3.1L这样的,也就是说凡是加湿器,管他哪个品牌的他都是这样的。但是冷柜则不同,他的容积是这样分的,100L以下、101-150L、151-200L、201-300L。
我的建表方式:
Brand_List(品牌列表)
id name
1 海尔
2 TCL
3 星星

Product_Category(商品分类)
id parent_id name BrandID_List(这里存放品牌的ID集合)
1 0 家电
2 1 电视 1,2
3 1 冷柜 1,3
4 1 加湿器 1,2,3

Category_attribute(商品分类属性)
id category_id name values
1 2 尺寸 19英寸,20英寸,21英寸
2 2 分辨率 1366*768,166*768
3 3 冷柜容积 100L以下,01-150L
4 4 加湿器容积 1.0L以下,1.0L-2.0L

Products_list (商品信息表)
id Category_Id(分类ID) Brand_Id(品牌ID) Name
1 2 1 海尔电视
2 3 3 星星冷柜

Products_attribute (商品属性)
id product_id(商品ID) cat_att_id(商品分类属性的ID) att_value(属性值)
1 1 1 19英寸
2 1 2 1366*768
3 2 3 100L以下

后台录入商品时:1、选择商品分类;2、选择品牌(选择品牌的时候只读取与所选分类关联的品牌);3、属性的选择(将此分类关联的属性读出来,再读出每个属性的选项),除属性的数据写入到独立的表(products_attribute)外,其他信息均写入products_list表。
前台筛选:选择分类后--》读出与此分类相关的品牌、读出与此分类相关的属性以及每个属性的选项值,执行查询时如果只根据分类和品牌去查,则直接的products_list表,如果要根据属性查,比如电视尺寸为19寸的,则此时需要去检索Products_attribute(商品属性)表,将检索出的结果与PRODUCTS——LIST关联就行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值