进销存小程序(二)数据库设计

系列文章清单:
进销存小程序(一)项目整体功能和设计
进销存小程序(二)数据库设计
进销存小程序(三)接口设计

1. DB设计

先看图,后续会把powerdesign源文件打包上传,可以根据powerdesign源文件直接生成mysql建表语句。

2. 设计说明

2.1. 用户、店铺

  • 用户表:微信openid是微信服务端唯一定位自然人的一个标识,每次都是通过小程序临时code换取后,在程序中确认当前的操作人员。

  • 店铺表:每个店铺只有一个掌柜,掌柜id是用户表的某个用户id。

  • 用户-店铺关联表:一个用户可以加入多个店铺、一个店铺也可以有多个店员和1个掌柜,典型的多对多。

2.2. 商品表

  • 商品分类:目前是在小程序端默认,只有“手机”这个分类
  • 商品品牌:输入字段。例如:苹果、三星、小米、华为等
  • 货品款号:品牌下的款号。例如:P40
  • 商品库存:这个是冗余字段,冗余的库存表“商品库存”字段
  • 店铺id:这个商品属于哪个店铺,一个商品只能属于一个店铺。当用户创建商品时,当前用户所在的店铺,就是这个商品的归属店铺。

3. 商品-规格属性关联表

  • 这是一个1对多的表,1个商品可以有多个属性。例如:华为(品牌)P40(款号)这个商品,可以有颜色、存储、CPU、屏幕尺寸等多个属性。

  • 属性单位:例如存储这个属性,“属性描述”值是“存储”,“属性单位”是“G”,属性值,可以是64、128、256、512等,属性值的存储说明见下一点。

  • 要注意的是,比如颜色这个属性,是可以应用在多个商品上的;并且,颜色这个属性,可以有多个值,比如星空灰、尊贵白等多个值,这多个值的存储,就是在下面的“商品-规格属性数据表”中。

4. 库存表

每次新建一个商品,都会初始化一条库存记录,库存为0,均价0,总价0。

  • 商品id:一个商品就只有唯一1条库存表记录
  • 最高价、最低价目前没有填充
  • 均价:根据每次入库和出库的数量、总价进行计算
  • 库存总价:根据每次入库和出库的数量、总价进行计算

5. 库存变动记录表

  • 库存id:关联库存表的主键id,1个商品库存表记录,在这里会有n条数据,1对多关系。
  • 变动方向:枚举值,只能是“入库”或“出库”
  • 变动id:如果变动方向是入库,那么变动id就是入库表的id;如果是出库,那变动id就是出库表id
  • 其他字段不再赘述

6. 入库表、出库表

基本是字面意思。

出库表的“出库类型”是枚举,目前可支持的是:销售开单、移库、其他。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值