注:本节内容在官方软设书里的第12章的 12.2 数据库分析与设计
一、数据库设计的步骤(4个阶段)
数据库设计包括以下四个阶段:
| 阶段 | 主要任务 | 产出物 |
|---|---|---|
| 需求分析阶段 | 收集和分析用户需求 | 数据流图、数据字典、需求说明书 |
| 概念设计阶段 | 建立概念模型(E-R图) | E-R图 |
| 逻辑设计阶段 | 将E-R图转换为关系模式 | 关系模式、数据模型优化 |
| 物理设计阶段 | 确定数据的存储结构和存取方法 | 物理结构设计 |
1. 需求分析阶段
主要任务:
- 调查和分析用户的业务活动和数据的使用情况
- 确定系统的功能和性能需求
- 收集基础数据及其处理要求
产出物:
- 数据流图(DFD)
- 数据字典
- 需求规格说明书
2. 概念设计阶段
主要任务:
- 将需求分析得到的用户需求抽象为信息结构(概念模型)
- 最常用的方法是 E-R模型
E-R图设计步骤:
- 确定实体类型
- 确定联系类型
- 确定实体和联系的属性
- 画出E-R图
3. 逻辑设计阶段
主要任务:
- 将概念模型(E-R图)转换为具体DBMS支持的数据模型(如关系模型)
- 对数据模型进行优化
E-R图向关系模型的转换规则:
| E-R结构 | 转换方法 |
|---|---|
| 实体 | 转换为一个关系模式,实体的属性就是关系的属性,实体的主键就是关系的主键 |
| 1:1联系 | 可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并 |
| 1:n联系 | 可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并 |
| m:n联系 | 转换为一个独立的关系模式,该关系模式的主键为各实体主键的组合 |
| 多元联系 | 转换为一个独立的关系模式 |
4. 物理设计阶段
主要任务:
- 确定数据的存储结构和存取方法
- 设计索引
- 确定数据存放位置
- 评价存储空间和时间效率
二、数据库的实施与维护
1. 数据库实施
- 建立实际的数据库结构
- 数据加载
- 编制和调试应用程序
- 数据库试运行
2. 数据库维护
- 数据库的转储和恢复
- 数据库的安全性、完整性控制
- 数据库性能的监督、分析和改进
- 数据库的重组织和重构造
三、数据库设计要点总结
E-R模型设计要点
- 实体识别:找出系统中需要管理的对象
- 联系识别:确定实体之间的关系类型(1:1、1:n、m:n)
- 属性分配:将属性分配给实体或联系
- 主键确定:为每个实体确定唯一标识
关系模式规范化要点
- 首先满足 1NF:属性不可再分
- 消除部分依赖达到 2NF
- 消除传递依赖达到 3NF
- 必要时达到 BCNF
设计原则
- 高内聚、低耦合:实体和联系的划分要合理
- 避免冗余:通过规范化减少数据冗余
- 保证完整性:通过主键、外键和约束保证数据完整性
- 考虑性能:在规范化和性能之间取得平衡
评论