数据库设计过程
 
2009-03-31 作者:A00553344 来源:A00553344的blog
 

数据库系统设计过程

  • 需求分析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支付过账的数据流图

数据字典Data Dictionary是对系统中数据的详尽描述,是各类数据属性的清单。对数据库设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。

描述数据流图的数据存储、数据加工(最底层加工)和数据流

主要内容:

  • 基本信息:名字、别名、描述;
  • 定义:数据长度、数据类型、数据结构;
  • 使用特点:取值范围、使用频率、使用方式等;
  • 控制信息:来源、用户、引用程序、读写权限等;
  • 其他说明。

数据元素的定义可以是基本元素及其组合,数据进行自顶向下地分解,直到不需要进一步解释且参与人员都清楚其含义为止。

数据字典通常包括以下五部分:

  • 数据项描述(名,含义,类型,长度,取值,与其它项逻辑关系等);是数据的最小单位。
  • 数据结构描述(名,含义,组成);是若干数据项有意义的集合。
  • 数据流(名,含义,组成,流出过程,流入过程);可以是数据项,也可以是数据结构,表示某一处理过程的输入或输出。
  • 数据存储(名,含义,组成,数据量,存取方式);处理过程中存取的数据,常常是手工凭证、手工文档或计算机文件。
  • 处理过程;

数据结构的描述

符号

含义
举例
=
被定义为
 
+
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

举例:

存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}50

户名=2{字母}24

所号=“001”..“999”

帐号=“00000001”..“99999999”

开户日=年+月+日

性质=“1”..“6” 注:“1”表示普通户,“5”表示工资户等

印密=“0” 注:印密在存折上不显示

存取行=日期+(摘要)+支出+存入+余额+操作+复核

还有另外一种方式来描述一个数据结构,如下表


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织