生鲜项目之项目架构和表设计

项目架构图

数据库设计

  1. 根据用户模块,可以有如下数据库设计

  2. 根据商品相关,可以有如下数据库设计

    注意:

    1. 商品表中会有商品图片和商品种类的字段属性,
      1. 图片的话,你点开商品,肯定不应该只要一张,这样的话就要考虑专门建一张表用来保存商品的多张图片信息,商品和图片表是一对多的关系,需要把外键放在图片里(即商品的ID),而在商品表中也不能不设置图片,用户来了之后要根据图片查看商品详情,这样也需要设计一个图片,这样做的好处是以空间(设置一张图片占用了一点空间)换时间(避免再去数据库索引图片返回数据花费的时间)
      2. 商品种类的话,需要额外建立一张表,商品种类表和商品表是一对多的关系,所以要在商品表中设置外键(即商品种类表的ID)
    2. SKU和SPU的概念
      1. SPU(标准产品单位):举例来讲,华为P30就是一个SPU,与颜色,款式,套餐等无关
      2. SKU(库存量单位):就是库存计量单位,可以是件,盒、斤等为单位,例如,华为P30的红色款,256G内存等
    3. 商品SKU表中添加一个销量的字段,目的是为了之后便于按人气进行排名
  3. redis实现购物车功能,不再额外建一个表了,这样就大大提高了效率,此外,redis也保存用户历史浏览记录

  4. 根据订单相关,可以有如下数据库设计

    注意

    1. 如果一个表中的某一字段属性有多个值,那该属性就要拿出来单独设置一个表
    2. 总数目、总金额可以不设置,因为在订单商品表里面有数量和价格,可以自行计算
    3. 评论要放到订单商品表
posted @ 2019-10-27 22:24  Micheal_L  阅读(542)  评论(0)    收藏  举报