exam markdown 数据库设计过程
MD 更新:未知
graph TD
%% 输入数据
A1[当前和未来应用的数据要求] --> B
A1 --> C
A2[数据处理要求] --> B
A2 --> C
A2 --> D
A2 --> E
%% 阶段1
B[需求分析] -->|输出| B_Out[数据流图 / 数据字典 / 需求说明书]
B --> C
%% 阶段2
C[概念结构设计] -->|输出| C_Out[E-R 模型]
C -->|独立于 DBMS 的概念模型| D
%% 阶段3
D1[转换规则 / 规范化理论] --> D
D2[DBMS 特性] --> D
D[逻辑结构设计] -->|输出| D_Out[关系模式]
D -->|视图 / 完整性约束 / 应用处理说明书| E
%% 阶段4
D2 --> E
E1[硬件 / OS 特性] --> E
E[物理设计]
需求分析
概念结构设计
flowchart LR
A[抽象数据] --> B[设计局部ER模型]
B --> C[合并局部模型消除冲突]
C --> D[重构优化消除冗余]
E-R图集成方法
集成产生冲突及解决方法
- 属性冲突:同一对象
- 命名冲突:同一对象
- 结构冲突:同一对象在不同应用中具有不同的抽象,以及同一实体在不同局部 E-R 图中所包含的属性个数和属性排列次序不同
逻辑结构设计
E-R图向关系模式转换
关系模式的规范化
确定完整性约束
- 实体完整性约束:Key 不能空值
- 参照完整性约束:外键必须是其他的主键或空值
- 自定义完整性约束
用户视图确定
- 根据数据流图确定处理过程使用的视图
- 根据用户类别确定不同用户使用的视图
数据库性能优化
集中式数据库
系统软件
数据库设计
- 分区-分库-分表
- 物化视图
- 索引
- SQL 优化
- 应用软件
分布式数据库
通信代价