美文网首页编程it互联网
004--MySql数据库的淘宝商城数据库设计

004--MySql数据库的淘宝商城数据库设计

作者: 糖纸疯了 | 来源:发表于2017-07-06 15:30 被阅读1273次

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

SKU2.jpg

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采取另一种思想来设计数据库(下一步就是自己写代码,将属性的值对应全部取出来)

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

相关文章

  • 004--MySql数据库的淘宝商城数据库设计

    1.淘宝网商品SKU系统设计经验分享:http://blog.csdn.net/y87329396/article...

  • 商城表结构设计

    (一)购物商城数据库设计-前期准备 (二)购物商城数据库设计-商品表设计 (三)购物商城数据库设计-商品表DDL(...

  • 仿造天猫商城的数据库商品模块设计

    仿造天猫商城的数据库商品模块设计 参考:商城数据表设计 商城数据库 xmind数据库设计带介绍文件地址:点击下载 ...

  • SpringCloud网上商城系统(附源码及教程)

    简介 设计精良的网上商城系统,包括前端、后端、数据库、负载均衡、数据库缓存等,使用SpringCloud框架,基于...

  • 数据库设计原则

    最近略微研究了下数据库相关的设计,本来没怎么当回事,因为我们大神之前设计的关于社保的一个数据库(类似于商城)又等于...

  • 阿里数据库开发规范:谁还敢说你的数据库设计的“烂”

    数据库设计几个规范: 数据库命名规范、数据库基本设计规范、数据库索引设计规范、数据库字段设计规范、数据库SQL开发...

  • 综合案例

    来自拉钩教育-JAVA就业集训营 1.商城案例表设计 通过对商城项目的部分表关系进行分析,完成数据库表的设计 1....

  • 规范化数据库设计

    规范化数据库设计 为什么需要数据库设计 当数据库比较复杂时我们需要设计数据库 糟糕的数据库设计 : 数据冗余,存储...

  • 数据库设计

    第六章 数据库设计 学习重点: 数据库设计的基本步骤; 数据库设计各阶段的具体设计内容; 数据库设计各阶段的设计描...

  • MySQL 入门(四)

    九、规范化数据库设计 1. 为什么需要数据库设计 当数据库比较复杂时,需要设计数据库; 糟糕的数据库设计:数据冗余...

网友评论

    本文标题:004--MySql数据库的淘宝商城数据库设计

    本文链接:https://www.haomeiwen.com/subject/oeflqxtx.html