商品模块

2018-11-09  本文已影响0人  Jason_b3e0

现有两个属性:【颜色】【尺码】

那么对应的数据表数据为:

specs_name(规格名称表)

id name
1 颜色
2 尺码

【颜色】属性有两个属性值:【红色】,【白色】

【尺码】属性有两个属性值:【M】,【L】

那到对应的数据表数据为:

specs_values(规格值表)

id specs_name_id value
1 1 红色
2 1 白色
3 2 M
4 2 L

现在准备新建一个商品叫做【上衣】<br>
它有【颜色】,【尺码】这两种属性<br>
并且【颜色】有【红】【白】两种属性值<br>
【尺码】有【M】【L两种属性值<br>
那么对应的数据表数据为:<br>

goods(商品表)

id name
10000 上衣



goods_sku_specs 商品与属性及属性值的关联表

goods_id specs_name_id specs_value_id note
1 1 (颜色) 1 (红色) 备注:颜色-红色
2 1 (颜色) 2 (白色) 备注:颜色-白色
3 2 (尺码) 3 (M) 备注:尺码-M
4 2(尺码) 4 (L) 备注:尺码-L

属性的各种组合,构成了商品SKU
【红色 M】【红色 L】【白色 M】【白色 L】四种组合
对应的数据表数据为:

goods_sku(商品SKU)

id goods_id goods_specs goods_specs_str
1 1 1:1,2:3
1 1 1:1,2:4
1 1 1:2,2:4
1 1 1:2,2:3
1 1 1:2,2:4
goods_specs 的数据结构:

第一种结构:颜色:红色,尺码:M
[{
    "specs_name_id": "1",
    "name": "颜色:,
    "specs_value_id": "1",
    "value": "红色"
}, {
    "specs_name_id": "2",
    "name": "尺码",
    "specs_value_id": "3",
    "value": "M"
}]

第二种结构:颜色:红色,尺码:L
[{
    "specs_name_id": "1",
    "name": "颜色:,
    "specs_value_id": "1",
    "value": "红色"
}, {
    "specs_name_id": "2",
    "name": "尺码",
    "specs_value_id": "4",
    "value": "L"
}]

第三种结构:颜色:白色,尺码:M
[{
    "specs_name_id": "1",
    "name": "颜色:,
    "specs_value_id": "2",
    "value": "红色"
}, {
    "specs_name_id": "2",
    "name": "尺码",
    "specs_value_id": "3",
    "value": "M"
}]

第四种结构:颜色:白色,尺码:L
[{
    "specs_name_id": "1",
    "name": "颜色:,
    "specs_value_id": "2",
    "value": "白色"
}, {
    "specs_name_id": "2",
    "name": "尺码",
    "specs_value_id": "4",
    "value": "L"
}]
对应的数据表结构
商品模块.png
上一篇 下一篇

猜你喜欢

热点阅读