004--MySql数据库的淘宝商城数据库设计
1.淘宝网商品SKU系统设计经验分享:http://blog.csdn.net/y87329396/article/details/51660016
2.关于优惠券功能设计之我的见解:http://www.jianshu.com/p/c5d8b634c4d2
3.关于B2C的官方产品分类类型:http://blog.csdn.net/cdnight/article/details/25607785
4.SKU的数据库设计:http://blog.csdn.net/cdnight/article/details/25394051
5.B2C电子商务系统研发——商品SKU分析和设计:http://blog.csdn.net/luojian520025/article/details/48734403
🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴
1.基于http://blog.csdn.net/y87329396/article/details/51660016
的设计理念进行的数据库设计而生成的Demo下载地址:http://pan.baidu.com/s/1nvn0HPf
- SQL下载地址:http://pan.baidu.com/s/1cB3Rg6
SKU1.png
1.查找商品->分类
SELECT
p_Item.i_name,
item.i_name
FROM
item AS p_Item
left JOIN item ON p_Item.i_id = item.i_parent_id
WHERE
p_Item.i_parent_id IS null
服装/鞋包 男装
服装/鞋包 流行男鞋
服装/鞋包 女装
箱包 双肩包
箱包 单肩包
箱包 行李箱
其他
2.查询商品->分类->分类的所有品牌
SELECT DISTINCT
p_Item.i_name,
item.i_name,
brand.b_name
FROM
item AS p_Item
LEFT JOIN item ON p_Item.i_id = item.i_parent_id
LEFT JOIN brand ON brand.i_id = item.i_id or brand.i_id = p_Item.i_id
WHERE
p_Item.i_parent_id IS null
ORDER BY
p_Item.i_name ASC,
item.i_name ASC,
brand.b_name ASC
其他
服装/鞋包 女装 东方骆驼
服装/鞋包 女装 婷美
服装/鞋包 女装 李宁
服装/鞋包 女装 红蜻蜓
服装/鞋包 女装 耐克
服装/鞋包 流行男鞋 红蜻蜓
服装/鞋包 男装 李宁
服装/鞋包 男装 红蜻蜓
服装/鞋包 男装 耐克
箱包 单肩包 Chanel
箱包 单肩包 CoCo
箱包 双肩包 Chanel
箱包 行李箱 Amani
箱包 行李箱 Chanel
3.查询商品->分类->分类的所有品牌->具体产品
SELECT DISTINCT
p_Item.i_name,
item.i_name,
brand.b_name,
pro.ppname,
pro.pname
FROM
item AS p_Item
LEFT JOIN item ON p_Item.i_id = item.i_parent_id
LEFT JOIN brand ON brand.i_id = item.i_id OR brand.i_id = p_Item.i_id
LEFT JOIN (SELECT DISTINCT
PP.p_name AS ppname,
P.p_name AS pname,
PP.p_id AS p_id,
PP.b_name AS b_name,
PP.p_fk_p AS p_fk_p,
PP.p_fk_i AS p_fk_i
FROM
product AS P
Inner JOIN product AS PP ON P.p_fk_p = PP.p_id ) pro ON pro.p_fk_i = p_Item.i_id AND pro.b_name = brand.b_name AND pro.p_fk_p IS null
WHERE
p_Item.i_parent_id IS null
ORDER BY
p_Item.i_name ASC,
item.i_name ASC,
brand.b_name ASC,
pro.pname ASC
其他
服装/鞋包 女装 东方骆驼
服装/鞋包 女装 婷美
服装/鞋包 女装 李宁
服装/鞋包 女装 红蜻蜓
服装/鞋包 女装 耐克 Air Air1
服装/鞋包 女装 耐克 Air Air2
服装/鞋包 女装 耐克 Air Air3
服装/鞋包 流行男鞋 红蜻蜓
服装/鞋包 男装 李宁
服装/鞋包 男装 红蜻蜓
服装/鞋包 男装 耐克 Air Air1
服装/鞋包 男装 耐克 Air Air2
服装/鞋包 男装 耐克 Air Air3
箱包 单肩包 Chanel
箱包 单肩包 CoCo
箱包 双肩包 Chanel
箱包 行李箱 Amani
箱包 行李箱 Chanel
4.查询商品->分类->分类的所有品牌->具体产品->具体商品
SELECT
item2.i_name,
item1.i_name,
brand.b_name,
product.p_name,
product_sku.pd_name,
concat('库存:',product_sku.pd_num),
concat('单价:',product_sku.pd_price)
FROM
item AS item1
LEFT JOIN item AS item2 ON item1.i_parent_id = item2.i_id
INNER JOIN brand ON brand.i_id = item1.i_id
INNER JOIN product ON product.b_name = brand.b_name
INNER JOIN product_sku ON product_sku.pd_fk_id = product.p_id
where item2.i_name is NOT NULL
ORDER BY
item2.i_name ASC,
item1.i_name ASC,
brand.b_name ASC,
product.p_name ASC
服装/鞋包 流行男鞋 李宁 球鞋 A21-11球鞋 库存:10 单价:370.0000
服装/鞋包 流行男鞋 李宁 球鞋 A102-23球鞋 库存:23 单价:238.9000
服装/鞋包 流行男鞋 李宁 球鞋 A79-12球鞋 库存:53 单价:528.5000
服装/鞋包 流行男鞋 李宁 网球 B3-18网球 库存:19 单价:250.0000
服装/鞋包 流行男鞋 李宁 网球 B1-12网球 库存:12 单价:123.3000
服装/鞋包 流行男鞋 李宁 衬衫 A-12衬衫 库存:12 单价:200.0000
服装/鞋包 流行男鞋 李宁 袜子 C-12袜子 库存:10 单价:10.0000
服装/鞋包 男装 李宁 球鞋 A102-23球鞋 库存:23 单价:238.9000
服装/鞋包 男装 李宁 球鞋 A79-12球鞋 库存:53 单价:528.5000
服装/鞋包 男装 李宁 球鞋 A21-11球鞋 库存:10 单价:370.0000
服装/鞋包 男装 李宁 网球 B3-18网球 库存:19 单价:250.0000
服装/鞋包 男装 李宁 网球 B1-12网球 库存:12 单价:123.3000
服装/鞋包 男装 李宁 衬衫 A-12衬衫 库存:12 单价:200.0000
服装/鞋包 男装 李宁 袜子 C-12袜子 库存:10 单价:10.0000
5.具体商品-->商品的属性
SELECT
item2.i_name,
item1.i_name,
pro_name.pro_name
FROM
item AS item1
LEFT JOIN item AS item2 ON item1.i_parent_id = item2.i_id
INNER JOIN pro_name ON pro_name.pro_fk_iid = item2.i_id
where item2.i_name is NOT NULL
ORDER BY
item2.i_name ASC,
item1.i_name ASC,
pro_name.pro_name ASC
服装/鞋包 女装/女士精品 厂商
服装/鞋包 女装/女士精品 尺码
服装/鞋包 女装/女士精品 材质
服装/鞋包 女装/女士精品 颜色
服装/鞋包 流行男鞋 厂商
服装/鞋包 流行男鞋 尺码
服装/鞋包 流行男鞋 材质
服装/鞋包 流行男鞋 颜色
服装/鞋包 男装 厂商
服装/鞋包 男装 尺码
服装/鞋包 男装 材质
服装/鞋包 男装 颜色
虚拟充值 王者荣耀会员 渠道
虚拟充值 王者荣耀会员 面值
虚拟充值 电话卡充值 渠道
虚拟充值 电话卡充值 面值
虚拟充值 腾讯会员 渠道
虚拟充值 腾讯会员 面值
6.具体商品-->商品的属性(男鞋虽然是"服装/鞋包",但是多出了一个自己的属性:鞋跟)
SELECT
item2.i_name,
item1.i_name,
pro_name.pro_name
FROM
item AS item1
LEFT JOIN item AS item2 ON item1.i_parent_id = item2.i_id
INNER JOIN pro_name ON (pro_name.pro_fk_iid = item2.i_id OR pro_name.pro_fk_iid = item1.i_id)
where item2.i_name is NOT NULL
ORDER BY
item2.i_name ASC,
item1.i_name ASC,
pro_name.pro_name ASC
服装/鞋包 女装/女士精品 厂商
服装/鞋包 女装/女士精品 尺码
服装/鞋包 女装/女士精品 材质
服装/鞋包 女装/女士精品 颜色
服装/鞋包 流行男鞋 厂商
服装/鞋包 流行男鞋 尺码
服装/鞋包 流行男鞋 材质
服装/鞋包 流行男鞋 鞋跟
服装/鞋包 流行男鞋 颜色
服装/鞋包 男装 厂商
服装/鞋包 男装 尺码
服装/鞋包 男装 材质
服装/鞋包 男装 颜色
虚拟充值 王者荣耀会员 渠道
虚拟充值 王者荣耀会员 面值
虚拟充值 电话卡充值 渠道
虚拟充值 电话卡充值 面值
虚拟充值 腾讯会员 渠道
虚拟充值 腾讯会员 面值
7.具体商品-->商品的属性-->详细属性值
SELECT
item2.i_name,
item1.i_name,
pro_name.pro_name,
pro_value.pv_name
FROM
item AS item1
LEFT JOIN item AS item2 ON item1.i_parent_id = item2.i_id
INNER JOIN pro_name ON (pro_name.pro_fk_iid = item2.i_id OR pro_name.pro_fk_iid = item1.i_id)
INNER JOIN pro_value ON pro_value.pv_fk_pid = pro_name.pro_id
where item2.i_name is NOT NULL
ORDER BY
item2.i_name ASC,
item1.i_name ASC,
pro_name.pro_name ASC,
pro_value.pv_name ASC
服装/鞋包 女装/女士精品 厂商 中国制造
服装/鞋包 女装/女士精品 厂商 北美工厂店
服装/鞋包 女装/女士精品 厂商 南非工厂店
服装/鞋包 女装/女士精品 材质 亚麻
服装/鞋包 女装/女士精品 材质 塑料
服装/鞋包 女装/女士精品 材质 针织
服装/鞋包 女装/女士精品 颜色 红
服装/鞋包 女装/女士精品 颜色 绿
服装/鞋包 流行男鞋 厂商 中国制造
服装/鞋包 流行男鞋 厂商 北美工厂店
服装/鞋包 流行男鞋 厂商 南非工厂店
服装/鞋包 流行男鞋 材质 亚麻
服装/鞋包 流行男鞋 材质 塑料
服装/鞋包 流行男鞋 材质 针织
服装/鞋包 流行男鞋 鞋跟 尖顶鞋跟
服装/鞋包 流行男鞋 鞋跟 平底鞋跟
服装/鞋包 流行男鞋 鞋跟 高脚鞋跟
服装/鞋包 流行男鞋 颜色 红
服装/鞋包 流行男鞋 颜色 绿
服装/鞋包 男装 厂商 中国制造
服装/鞋包 男装 厂商 北美工厂店
服装/鞋包 男装 厂商 南非工厂店
服装/鞋包 男装 材质 亚麻
服装/鞋包 男装 材质 塑料
服装/鞋包 男装 材质 针织
服装/鞋包 男装 颜色 红
服装/鞋包 男装 颜色 绿
8.指定商品-->指定商品对应的属性
SELECT
product_sku.pd_name,
pro_value.pv_name
FROM
product_pro
INNER JOIN product_sku ON product_pro.pp_fk_ps = product_sku.ps_id
INNER JOIN pro_value ON product_pro.pp_fk_pv = pro_value.pv_id
ORDER BY
product_sku.pd_name
🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴🍷🍸🍹🍺🍻🍴
2采取另一种思想来设计数据库(下一步就是自己写代码,将属性的值对应全部取出来)
- SQL下载地址:http://pan.baidu.com/s/1kVwYuVH
iphone 3500-4500 16-64 红色;黑色; 10 3427.9 126 131 134
iphone 3500-4500 16-64 红色;黑色; 5 3698.9 126 132 134
iphone 3500-4500 16-64 红色;黑色; 4 3698.9 127 131 134
iphone 3500-4500 16-64 红色;黑色; 8 3427.9 127 133 134
iphone 3500-4500 16-64 红色;黑色; 8 4232.9 126 132 135
iPad 4700-8500 16-64 红色;银色;黑色 10 4232.9 126 134
iPad 4700-8500 16-64 红色;银色;黑色 5 5318.9 126 134
iPad 4700-8500 16-64 红色;银色;黑色 4 5318.9 127 134
iPad 4700-8500 16-64 红色;银色;黑色 8 6111.9 127 134
iPad 4700-8500 16-64 红色;银色;黑色 8 6111.9 126 135