数据库设计那些事——第1章 需求分析
1-1 数据库设计简介
什么是数据库设计?
简单来说,数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS(数据库管理系统),为这个业务系统构造出最优的数据存储模型。并建立好数据库中的表结构及表与表之间的关联关系的过程。使之能有效的对应用系统中的数据进行存储,并可以高效的对已经存储的数据进行访问。
为什么要进行数据库设计?
| 优良的设计 | 糟糕的设计 |
|---|---|
| 减少数据冗余 | 存在大量数据冗余 |
| 避免数据维护异常 | 存在数据插入,更新,删除异常 |
| 节约存储空间 | 浪费大量存储空间 |
| 高效的访问 | 访问数据低效 |
1-2 数据库设计的步骤
graph TD
A[需求分析] --> B(逻辑设计)
B --> C(物理设计)
C --> D(物理优化)
- 需求分析
- 数据是什么
- 数据有哪些属性
- 数据和属性各自的特点有哪些
- 逻辑设计
- 使用ER图对数据库进行逻辑建模
- 物理设计
- 根据数据库自身的特点把逻辑设计转化为物理设计
- 物理优化
- 新的需求进行建表
- 索引优化
- 大表拆分
1-3 需求分析重要性简介
为什么要进行需求分析?
- 了解系统中所要存储的数据
- 了解数据的存储特点
- 了解数据的生命周期
要搞清楚的一些问题
- 实体及实体之间的关系(1对1,1对多,多对多)
- 实体所包含的属性有什么?
- 那些属性或属性的组合可以唯一标识一个实体
1-4 需求分析举例
实例演示
以一个小型的电子商务网站为例,在这个电子商务网站的系统中包括了几个核心模块:用户模块,商品模块,订单模块,购物车模块,供应商模块。
用户模块
用于记录注册用户信息
包括属性:用户名、密码、电话、邮箱、身份证号、地址、姓名、昵称......
可选唯一标识属性:用户名、身份证、电话
存储特点:随系统上线时间逐渐增加,需要永久存储
商品模块
用于记录网站中所销售的商品信息
包括属性:商品编码、商品名称、商品描述、商品品类、供应商名称、重量、有效期、价格......
可选唯一标识属性:(商品名称,供应商名称)、(商品编码)
存储特点:对于下线商品可以归档存储
订单模块
用于用户订购商品的信息
包括属性:订单号、用户姓名、用户电话、收获地址、商品编号、商品名称、数量、价格、订单状态、支付状态、订单类型......
可选唯一标识属性:(订单号)
存储特点:永久存储(分表、分库存储)
购物车模块
用于保存用户购物时选购的商品
包括属性:用户名、商品编号、商品名称、商品价格、商品描述、商品分类、加入时间、商品数量......
可选唯一标识属性:(用户名,商品编号,加入时间)、(购物车编号)
存储特点:不用永久存储(设置归档、清理规则)
供应商模块
用于保存所有销售商品的供应商信息
包括属性:供应商编号、供应商名称、联系人、电话、营业执照号、地址、法人......
可选唯一标识属性:(供应商编号)、(营业执照号)
存储特点:永久存储



浙公网安备 33010602011771号