美文网首页编程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数据库的淘宝商城数据库设计

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