数据库设计步骤

数据库设计过程图

数据库设计 - 图1

需求分析工作步骤

  • 分析用户活动,产生业务流程图

  • 确定系统范围,产生系统关联图

  • 分析用户活动涉及的数据,产生数据流程图

  • 分析系统数据,产生数据字典

概念设计阶段

  • 概念设计的目标是产生反映用户需求的数据库概念结构,即概念模型

  • 概念模型具有硬件独立、 软件独立的特点

概念设计方法

  • 概念设计中最著名的方法就是实体联系方法(ER方法)

  • 概念设计的结果是得到一个与DBMS无关的概念模型

逻辑设计阶段

逻辑设计的目的是把概念设计阶段设计好的概念模型转换成
与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑
结构(包括数据库逻辑模型和外模型)。

对于逻辑设计而言,应首先选择DBMS,但往往数据库设计人
员没有挑选的余地,都是在指定的DBMS上进行逻辑结构的设
计。

物理设计

对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程,称为物理设计。

物理设计的步骤

  1. 存储记录结构设计

  2. 确定数据存放位置

  3. 存取方法的设计

  4. 完整性和安全性考虑

  5. 程序设计

注:标蓝部分为物理结构设计

数据库各级模式的形成

  • 数据库的各级模式是在设计过程中逐步形成的

  • 需求分析阶段综合各个用户的应用需求(现实世界的需求)。

  • 概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。

使用模型图做概念设计(字母只好用小写)

使用ER图做概念设计

  • 实体用矩形表示(实体必须有实体标识符)

  • 关系用菱形表示

  • 属性用椭圆表示

    • 属性不能在具有需要描述的性质

    • 属性不能在与其他实体具有联系

ER图转换成关系模式集的算法

  • 步骤一(实体类型转换):将每一个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。

  • 步骤二(联系类型的转换):不同情况不同处理(1:1,1:n,m:n)。

    • 若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。

    • 若实体间联系是1:n,则在n端实体类型转换成的关系模式中加入1端实体类型的键和联系类型的属性。

    • 若实体间联系是m:n,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体键的组合。

例:简单的职工-领导以及零件-组成ER图转换事例

数据库设计 - 图2

采用ER模型的逻辑设计步骤

  1. 导出初始关系模式集

  2. 规范化处理

    1. 逐一考察关系模式

    2. 判断它们是否满足规范要求

  3. 模式评价

  4. 模式修正

  5. 设计子模式

使用UML图做概念设计

UML和E/R术语对比

UML E/R
Class(类) Entity set(实体集)
Association(关联) Binary relationship(二元联系)
Association Class(关联类) Attribute on relationship(联系中的属性)
SubClass(子类) Isa hierarchy (Isa层次关系)
Aggregation(聚集) Mang-one relationship(多对一联系)
Composition(组成) Many-one relationship with referential integrity(带参照完整性的多对一关系)