如何设计开发数据库应用系统?

第13章 数据库应用系统设计概述

13.1 数据库设计概述

13.1.1 数据库系统设计内容

数据库设计包含两方面的内容。

1. 结构特性设计

结构特性设计通常是指数据库模式或数据库结构设计,它应该具有最小冗余的、能满足不同用户数据需求的、能实现数据***享的系统。数据库结构特性是静态的,应留有扩充余地,使系统容易改变。

2. 行为特性设计

行为特性设计是指应用程序、事物处理的设计。

13.1.2 数据库设计特点

数据库设计是一项综合性技术。“三分技术,七分管理,十二分基础数据”是数据库建设的基本规律。数据库设计的特点是:

硬件、软件和管理界面相结合。

结构设计和行为设计相结合。

13.2 数据库设计步骤

见图。

13.3 数据库结构设计

13.3.1 需求分析

需求分析的目标是准确了解系统的应用环境,了解并分析用户对数据及数据处理的需求。

1. 收集需求信息

一般来讲,用户对数据库的要求如下:

(1)信息需求

(2)处理需求

(3)安全性与完整性要求

2. 分析整理

分析的过程是对所收集到的数据进行抽象的过程。下面是“高校收费管理系统”的用户需求分析:

每年新生入学时学费基本信息的输入

每年老生离校时学生基本信息的删除

查询、打印学生的交费情况

查询、打印降级生的交费情况

进入学费管理系统的安全性条件设计

3. 数据流图

数据库设计中采用数据流图(DFD:Data Flow Diagram)来描述系统的功能。DFD一般由下面图素构成。

:数据及其流动方向,直线上方标明数据流名称

:数据处理,圆圈内标明处理名称

:数据流的终点和源点,方框内标明相应的名称

:文件和数据存储,在其内标明相应名称

例如:高校收费管理系统

4.数据字典

数据字典(DD:Data Dictionary)用于记载系统中的各种数据、数据元素以及它们的名字、性质、意义及各类约束条件,记录系统中用到的常量、变量、数组及其他数据单位,是系统开发与维护中不可缺少的重要文件。数据字典是关于数据库中数据的一种描述,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。

数据字典产生于数据流图,是对数据流图中的四个成分(数据流、数据项、文件和处理)描述的结果。其中:

数据流描述:定义数据流的组成,一般包含若干数据项,通常在数据流图的下方通过“说明”定义。

文件描述:定义文件的组成以及文件的组织方式,如学生交费数据可用下面方法描述:

交费数据=学号+姓名+收费标准+应交学费+待交学费+本次交款

数据项描述:定义数据项,一般包括名称、类型长度、允许范围等。如学生交费数据文件中的数据项。

数据项名称 类型 长度(字节) 范围

学号 字符 8 H、G和数字

姓名 字符 8 任何字母

收费标准 正整数 5 0-99999

应交学费 正整数 5 0-99999

待交学费 正整数 5 0-99999

本次交款 正整数 5 0-99999

数据处理的描述:说明数据处理的逻辑关系,即输入与输出之间的逻辑关系。同时,也要说明数据处理的触发条件、错误处理等问题。

13.3.2 概念结构设计

概念结构的目标是将需求分析得到的用户需求抽象为数据库的概念结构,即概念模式。概念结构设计形成一个独立于具体DBMS的概念模型。描述概念模式的是E―R图。

1. 局部E-R模型设计

局部E―R模型设计是从数据流图出发确定实体和属性,并根据数据流图中表示的对数据的处理、确定实体之间的联系。

2. 总体E-R模型设计

将各个局部E―R图加以综合,使同一个实体只出现一次,便可产生总体E―R图。

13.3.3 逻辑结构设计

数据库的逻辑结构设计的目标就是将概念结构转换成特定的DBMS所支持的数据模型,并对其优化的过程。逻辑设计阶段一般分三个过程进行:

将概念结构转换为一般的关系、网状、层次模型;

将由概念结构转换来的模型向所选用DBMS支持的数据模型转换;

对数据模型进行优化

13.3.4 物理设计

数据库的物理设计目标是在选定的DBMS上建立起逻辑设计结构确立的数据库的结构。这项工作一般由系统程序员完成。数据库的物理设计通常分为两步进行。

1. 确定数据库的物理结构

在关系数据库中,确定数据库的物理结构主要指确定数据存放位置和存储结构,包括确定关系、索引、日志、备份等数据的存储分配合存储结构,确定系统配置等工作。

2. 对所确定的物理结构进行评价

13.4 应用程序设计

数据库的应用程序设计和一般的应用程序设计方法基本相同。

应用程序的设计方法可以采用一般的程序设计方法。

13.5 运行和维护

13.5.1 数据载入数据库

13.5.2 数据库系统试运行

在试运行阶段应当注意:

1. 数据的加载过程应先输入小部分数据进行试运行

2. 应注意数据库的转储和恢复工作

13.5.3 数据库系统的运行和维护

在数据库系统正式运行阶段,对数据库的经常性维护工作是由DBA来实施的,他的工作主要包括:

1. 数据库的转储和恢复

2. 数据库的安全性和完整性控制

3. 数据库性能的监督、分析和改造

4. 数据库的重组与重构

(1)数据库的重组

(2)数据库的重构

13.6 小结

本章通过高校收费管理系统数据库的构建与设计过程的详细描述,学习了数据库设计的基本方法,数据库设计的基本流程,E-R图的建立和到关系模式的转换,学习了软件工程的基本思想,为后续课程数据库开发技术打好基础。