商品数据表设计分析

商品数据表设计分析:先设计商品信息总表,再根据总表进行扩展关联出其它各表

1. 商品信息表 product

字段名称类型注释备注
idint(10)主键(自增)商品在数据库中的编码
cidint (10)分类关联product_cates表ID
titlevarchar(100)商品名称
pro_novarchar (20)商品编码随机生成的一个字符串
keywordsvarchar(255)关键字方便用户搜索
imgvarchar(255)商品主图建议采用路径存储url
pricedecimal (10,2)商品最低价为了吸引用户进入浏览 给出最低配置甚至配件价格
descvarchar(255)商品描述商品简介,广告词等
pvint (10)点击量分析流量,统计数据
statustinyint (1)产品状态状态:-1 已删除 0 下架 1 上架
add_timeint(10)发布时间添加时间

pro_no:由于外部访问不允许显示商品在数据库中的真实编码,防止非法刷库,所以需要生成一个随机字符串商品编码
cid:分类ID与商品类目表的ID进行关联,后台再根据CID查询商品类目表中的ID来对应循环出分类属性

2. 商品类目表(商品分类)product_cates

字段名称类型注释备注
idint(10)主键(自增)-
pidint(10)上级分类id0为最高分类 1 为二级分类 数字越大 分类越后
ordint(3)排序-
titlevarchar(50)标签标题分类名称
statustinyint (1)产品状态状态: 0 正常 1 禁用
add_timeint(10)添加时间-

PID和ORD 如果不分类或不排序 默认为0

  1. 商品图片表 product_img 一般是商品有多图展示 甚至视频 而我们也单独用一个表来展示这一块
字段名称类型注释备注
idint(10)主键(自增)-
product_idint(10)商品ID关联product表ID
imgvarchar(255)图片路径建议采用路径存储url
add_timeint(10)添加时间-

图片表我们也可以添加 图片名称 图片扩展名 图片大小 等属性字段,也可以忽略,但图片路径必填项

字段名称类型注释备注
namevarchar(255)图片名称
extvarchar(255)图片扩展名
sizeint(255)图片大小

4. 祥情描述contents 另外商品有个祥情描述,由于内容较多,减轻数据库访问压力,我们需要独立创建一个表

字段名称类型注释备注
字段名称类型 注释-
idint(10)主键(自增)-
product_idint(10)商品ID关联product表ID
contentstext商品祥情描述-

这个表也是通过produt_id 来关联商品信息表的 如果一个商品多个图 就是多个图片的produt_id都一样的,以上4张表,基本上把商品基本信息组建完成了, 下面我们要写配置属性表,这个表相对比较复杂,一般电商做的产品类型众多,也就造成了产品属性的不同,如电子产品有内存,版本,但是鞋子就变成了材质,尺寸,所以我们必需要想办法让属性配置单独做出多个表来分配给各种不同类型的产品,而这个方法就是SKU,在电商中有SKU叫销售属性,就是根据不同的属性和属性值生成不同的SKU编码,便于电商系统识别商品库存

5. 属性名表 property_name

字段名称类型注释备注
idint(10)主键(自增)-
cidint(10)所属类目ID与商品信息表中的cid对应 与商品类目表中的ID对应
titlevarchar(50)属性名例如:颜色 版本 尺寸
is_saletinyint(1)是否销售属性0否 1 是

注:is_sale是否为销售属性 是指产品中有些属性会影响销售价格和库存 有些属性不会影响(如:重量,配送地区)也叫SUP

  1. 属性值表 property_value
字段名称类型注释备注
idint(10)主键(自增)-
name_idint(10)属性名称id关联property_name表id
valuevarchar(255)属性值-
imgvarchar(255)属性图片-

7. 商品 属性名 属性值 关联表 property

字段名称类型注释备注
idint(10)主键(自增)-
product_idint(10)商品ID关联product表ID
name_idint(10)类目属性名id关联property_name表id
value_idint(10)类目属性值id关联property_value表id

property表其实就是属性名表和属性值的合并 初看数据库认为此表与8表重复,其实不然,因为is_sale是否为销售属性,
如果不是销售属性,前端就可以直接读取此表数据,如果是销售属性就要读取sku表数据了

8. 商品库存量表 product_sku 此表为关键表,根据商品的属性和属性值来判定商品的价格和库存量

字段名称类型注释备注
idint(10)主键(自增)-
product_idint(10)商品ID关联product表ID
propertiestext属性键值对property_name:property_value 关联两张表的ID
pricedecimal (10,2)商品价格-
costdecimal (10,2)商品成本可有可无值
stockint(10)库存-
weightint(10)重量

此表的关键点在于properties 此字段比较特殊text,可以把属性键和值一起放,属性键值对:property_name:property_value 关联两张表的ID

对于 key,value 存储比较新颖,但是关键还是得看代码是怎么实现读取的

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ch3nnn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值