zoukankan      html  css  js  c++  java
  • 生鲜项目之项目架构和表设计

    项目架构图

    数据库设计

    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. 评论要放到订单商品表
  • 相关阅读:
    搞懂 Python 中多继承与Mixin设计模式
    Python 中的新式类和经典类的区别?
    值得收藏!15个 Pythonic 的代码示例
    windows启动nacos1.3.2
    Linux完成MySQL安装,本地连接时出现1064错误
    vagrant安装的坑
    AvaloniaUI TextBox 不能显示中文的问题解决
    [笔记] zookeeper 本地测试部署
    docker: Error response from daemon: Ports are not available
    smartsql 入门使用踩坑笔记
  • 原文地址:https://www.cnblogs.com/michealjy/p/11749526.html
Copyright © 2011-2022 走看看