• MySQL 数据库设计 笔记与总结(1)需求分析


    数据库设计的步骤

    ① 需求分析

    ② 逻辑设计

      使用 ER 图对数据库进行逻辑建模

    ③ 物理设计

    ④ 维护优化

      a. 新的需求进行建表

      b. 索引优化

      c. 大表拆分

    【需求分析】

    ① 了解系统中所要存储的数据(对象 / 实体)

      a. 实体与实体之间的关系(1 对 1,1 对 多,多 对 多)

      b. 实体所包含的属性有哪些

      c. 哪些属性或属性的组合可以唯一标识一个实体

    ② 了解数据的存储特点

    ③ 了解数据的生命周期

    【例】

    一个小型电商网站,核心模块包括:用户、商品、订单、购物车、供应商

    ① 用户模块

    包括属性:用户名、密码、电话、邮箱、身份证号、地址、姓名、昵称

    可选唯一标识属性:用户名、身份证、电话

    存储特点:随系统上线时间逐渐增加,需要永久存储

    ② 商品模块

    包括属性:商品编码、商品名称、商品描述、商品品类、供应商名称、重量、有效期、价格

    可选唯一标识属性:(商品名称、供应商名称的组合)、(商品编码)

    存储特点:对于下线商品可以归档存储

    ③ 订单模块

    包括属性:订单号、用户姓名、用户电话、收货地址、商品编号、商品名称、数量、价格、订单状态、支付状态、订单类型

    可选唯一标识属性:(订单号)、(用户姓名、商品、下单日期的组合属性)

    存储特点:永久存储(分表、分库存储)

    ④ 购物车 用户保存用户购物时选对的商品

    包括属性:用户名、商品编号、商品名称、商品价格、商品描述、商品分类、商品数量

    可唯一标识属性:(用户名、商品编号、加入时间)、(购物车编号)

    存储特点:不永久存储(设置归档、清理规则)

    ⑤ 供应商 用于保存所销售商品的供应商信息

    包括属性:供应商编号、供应商名称、联系人、电话、营业执照号、地址、法人

    可选唯一标识:(供应商编号)、(营业执照号)

    存储特点:永久存储

    【模块间的关系】

    用户  ←  1对多→   订单

      ↑                        ↑

    1对多                多对多

      ↓                       ↓

    购物车 ←多对多→ 商品  ← 多对多 → 供应商

  • 相关阅读:
    SICP 1.9-1.10
    SICP 1.6-1.8
    SICP 1.1-1.5
    【最小生成树】Codeforces 707B Bakery
    【数学】Codeforces 707C Pythagorean Triples
    【离线】【深搜】【树】Codeforces 707D Persistent Bookcase
    【贪心】Vijos P1615 旅行
    【字符串】【最小表示法】Vijos P1683 有根树的同构问题
    【模拟】Vijos P1005 超长数字串
    【并查集】【模拟】Codeforces 698B & 699D Fix a Tree
  • 原文地址:https://www.cnblogs.com/dee0912/p/4430306.html
Copyright © 2020-2023  润新知