数据库设计那些事——第1章 需求分析

1-1 数据库设计简介

什么是数据库设计?

简单来说,数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS(数据库管理系统),为这个业务系统构造出最优的数据存储模型。并建立好数据库中的表结构及表与表之间的关联关系的过程。使之能有效的对应用系统中的数据进行存储,并可以高效的对已经存储的数据进行访问。

为什么要进行数据库设计?

优良的设计 糟糕的设计
减少数据冗余 存在大量数据冗余
避免数据维护异常 存在数据插入,更新,删除异常
节约存储空间 浪费大量存储空间
高效的访问 访问数据低效

1-2 数据库设计的步骤

graph TD A[需求分析] --> B(逻辑设计) B --> C(物理设计) C --> D(物理优化)
  1. 需求分析
    • 数据是什么
    • 数据有哪些属性
    • 数据和属性各自的特点有哪些
  2. 逻辑设计
    • 使用ER图对数据库进行逻辑建模
  3. 物理设计
    • 根据数据库自身的特点把逻辑设计转化为物理设计
  4. 物理优化
    • 新的需求进行建表
    • 索引优化
    • 大表拆分

1-3 需求分析重要性简介

为什么要进行需求分析?

  1. 了解系统中所要存储的数据
  2. 了解数据的存储特点
  3. 了解数据的生命周期

要搞清楚的一些问题

  1. 实体及实体之间的关系(1对1,1对多,多对多)
  2. 实体所包含的属性有什么?
  3. 那些属性或属性的组合可以唯一标识一个实体

1-4 需求分析举例

实例演示

以一个小型的电子商务网站为例,在这个电子商务网站的系统中包括了几个核心模块:用户模块,商品模块,订单模块,购物车模块,供应商模块。

用户模块

用于记录注册用户信息
包括属性:用户名、密码、电话、邮箱、身份证号、地址、姓名、昵称......
可选唯一标识属性:用户名、身份证、电话
存储特点:随系统上线时间逐渐增加,需要永久存储

商品模块

用于记录网站中所销售的商品信息
包括属性:商品编码、商品名称、商品描述、商品品类、供应商名称、重量、有效期、价格......
可选唯一标识属性:(商品名称,供应商名称)、(商品编码)
存储特点:对于下线商品可以归档存储

订单模块

用于用户订购商品的信息
包括属性:订单号、用户姓名、用户电话、收获地址、商品编号、商品名称、数量、价格、订单状态、支付状态、订单类型......
可选唯一标识属性:(订单号)
存储特点:永久存储(分表、分库存储)

购物车模块

用于保存用户购物时选购的商品
包括属性:用户名、商品编号、商品名称、商品价格、商品描述、商品分类、加入时间、商品数量......
可选唯一标识属性:(用户名,商品编号,加入时间)、(购物车编号)
存储特点:不用永久存储(设置归档、清理规则)

供应商模块

用于保存所有销售商品的供应商信息
包括属性:供应商编号、供应商名称、联系人、电话、营业执照号、地址、法人......
可选唯一标识属性:(供应商编号)、(营业执照号)
存储特点:永久存储
BgiFqH.png
rsAsfI.md.png

慕课 数据库设计那些事 视频

posted @ 2020-12-22 20:40  sgalcheung  阅读(3625)  评论(0)    收藏  举报