数据库系统设计过程
- 需求分析Requirements Analysis;
- 概念数据库设计Conceptual Schema Design;
- 逻辑数据库设计Logical schema design;
- 物理数据库设计Physical Schema Design;
- 实现Implementation;
- 系统测试System Testing;
- 维护Delivery & Maintenance
一、 需求分析。
需求分析阶段的工作步骤:
- 分析用户活动,产生业务流程图:了解用户当前的业务活动和职能,理清其处理流程。把用户业务分成若干个子处理过程,使每个处理功能明确、界面清楚,画出业务流程图
- 确定系统范围,产生系统范围图:在和用户经过充分讨论的基础上,确定计算机所能进行数据处理的范围,确定哪些工作由人工完成,哪些工作由计算机系统完成,即确定人机界面。
- 分析用户活动所涉及的数据,产生数据流图:深入分析用户的业务处理,以数据流图(Data Flow Diagram,DFD)形式表示出数据的流向和对数据所进行的加工。DFD有四个基本成分:数据流、加工或处理、文件、外部实体。DFD可以形象地表示数据流与各业务活动的关系,它是需求分析的工具和分析结果的描述手段。
-
分析系统数据,产生数据字典: 仅仅有 DFD 并不能构成需求说明书, DFD 只表示出系统有哪几部分组成和各个部分之间的关系,并没有说明各个成分的含义。数据字典提供对数据库时间描述的集中管理,它的功能是存储和检索各种数据描述 ( 元数据 Metadata) ,数据字典是数据收集和数据分析的主要成果,在数据库设计中占有很重要地位。数据字典编写的基本要 求
-
功能分析: 数据库的设计是与应用系统的设计紧密结合的过程,离开一定的功能,数据库就失去其存在价值。数据库设计的一个重要特点是结构 ( 数据 ) 和行为 ( 功能 ) 的结合。用户希望系统能提供的功能必须有一个清晰的描述。功能分析可以采用软件结构图或模块图来表示系统的层次分解关系、模块调用关系。
数据流图:
实例:图书馆借书的数据流
数据流采用自顶向下的分析方式:
下面是一个销售管理子系统的数据流的分析过程的例子。
先看销售管理子系统顶层数据流图
其中1.0送进定单的数据流图
其中2.0处理定单的数据流图
其中3.0开发票的数据流图
其中4.0支付过账的数据流图
数据字典
-
基本信息:名字、别名、描述;
-
定义:数据长度、数据类型、数据结构;
-
使用特点:取值范围、使用频率、使用方式等;
-
控制信息:来源、用户、引用程序、读写权限等;
-
其他说明。
- 数据项描述(名,含义,类型,长度,取值,与其它项逻辑关系等);是数据的最小单位。
- 数据结构描述(名,含义,组成);是若干数据项有意义的集合。
- 数据流(名,含义,组成,流出过程,流入过程);可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出。
- 数据存储(名,含义,组成,数据量,存取方式);处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件。
- 处理过程;
符号 |
含义
|
举例
|
=
|
被定义为
|
|
+
|
与
|
x=a+b
|
[
…
,
…
]
或
[
…
|
…
]
|
或
|
x=[a,b], x=[a|b]
|
{
…
}
或
m{
…
}n
|
重复
,m
是最少次数,
n
是最多次数
|
X={a}, x=3{a}8
|
(
…
)
|
可选
|
X=(a)
|
“…”
|
基本数据元素
|
X=
“
a
”
|
..
|
连接符
|
X=1..9
|