1.3 数据库应用系统

信息化处理是计算机应用的最大领域。任何计算机应用系统都离不开数据处理。计算机应用系统的数据处理大都需要借助数据库来实现数据存储、数据访问、数据分析和数据管理。因此,借助数据库进行信息化处理的计算机应用系统被称为数据库应用系统。

扫码预习

1.3.1 数据库应用系统的类型

在当今信息化时代中,各个行业都采用了数据库应用系统实现业务信息化处理。例如,在企业机构中,从实现技术角度而言,无论是面向内部业务管理的ERP信息系统,还是面向外部客户服务的 CRM 系统,都是以数据库为基础的信息系统。数据库应用系统主要有如下几种类型。

1.业务处理系统

业务处理系统(Transaction Process System,TPS)是运用数据库应用程序对机构日常业务活动(如订购、销售、支付、出货、核算等)信息进行记录、计算、检索、汇总、统计等数据处理,为机构操作层面提供业务信息化处理服务,提高业务处理效率的信息系统。典型的业务处理系统如银行柜台系统、股票交易系统、商场POS系统等。

业务处理系统使用数据库来组织、存储和管理业务数据,具体处理又分为联机业务处理和业务延迟批处理。在联机业务处理中,业务处理需在线执行,业务数据可以在系统中立即获得,即以实时的方式进行业务处理,如银行 ATM 系统。在业务延迟批处理中,一批业务数据被存储一段时间,然后再被集中处理,如银行账目交换批处理业务,通常是在夜间以批处理方式进行处理的。

2.管理信息系统

管理信息系统(Manage Information System,MIS)是一种以机构职能管理为目标,利用计算机软硬件、网络通信、数据库等IT技术,实现机构职能整体信息化管理,以达到规范化管理和提高机构工作效率,并支持机构职能服务的信息系统。典型的管理信息系统如人力资源管理系统、企业客户关系管理系统、企业财务管理系统等。

机构的管理信息系统通常采用统一规划的数据库来组织、存储和管理机构各个部门数据,实现部门之间信息的共享和交换,并实现机构的人员管理、物资管理、资金管理、生产管理、计划管理、销售管理等部门协同。

3.决策支持系统

决策支持系统(Decision Support System,DSS)是以管理科学、运筹学、控制论和行为科学为基础,以计算机技术、数据库技术、人工智能技术为手段,解决特定领域的决策管理问题,为管理者提供辅助决策服务与方案的信息系统。该系统能够为管理者提供所需的数据分析、预测信息和决策方案,帮助管理者明确决策目标和进行问题的识别,建立预测或决策模型,提供多种决策方案,并且对各种方案进行评价和优选,通过人机交互功能进行分析、比较和判断,为正确的决策提供必要的支持,从而达到支持决策的目的。

1.3.2 数据库应用系统的结构

在不同应用需求场景中,数据库应用系统的结构是不同的。数据库应用系统的结构可分为单用户结构、集中式结构、客户/服务器结构和分布式结构。

1.单用户结构

在一些简单的业务服务系统中,数据库应用系统服务的对象为单个用户,应用系统软件和数据库都安装在一个计算机中运行,其结构如图1-8所示。

图1-8 单用户结构

单用户结构的特点:在单用户结构中,数据库应用系统的各个部件都部署在一台计算机上,一个用户进行应用功能操作,并获得数据处理服务。

单用户结构的优缺点:结构简单,易于维护,但是只适用于单用户使用,不能实现用户之间数据的共享和交换。

2.集中式结构

在一些多终端业务服务系统中,应用程序、数据库及其DBMS安装在同一服务器上运行,而用户则使用自己的客户端计算机或智能手机通过网络连接访问服务器系统。业务服务系统的所有处理操作都是在服务器集中处理,其结构如图1-9所示。

图1-9 集中式结构

集中式结构的特点:数据库应用系统的数据集中、处理集中。支持多个用户并发访问服务器系统,能够实现用户之间数据的共享。

集中式结构的优缺点:可利用服务器实现集中计算、结构简单、易于维护,但是当终端用户增加到一定数量后,服务器响应客户机的请求访问将会成为瓶颈,系统处理性能大大降低。

3.客户/服务器结构

在一些多终端业务服务系统中,应用系统的处理逻辑分布在客户机和服务器中,各个计算机分担处理系统逻辑,如服务器运行数据库及其DBMS,客户机运行处理应用逻辑程序。在这类数据库应用系统中,专门用于运行 DBMS 软件及数据库的服务器被称为数据库服务器;运行计算机应用程序的计算机被称为客户机。客户端应用程序将数据访问请求传送到数据库服务器;数据库服务器接收请求,对数据库进行数据操作处理,并将数据操作结果返回给客户端应用程序。其结构如图1-10所示。

图1-10 客户/服务器结构

客户/服务器结构的特点:数据库应用系统的数据集中管理、应用分布处理。客户端应用程序通过网络并发访问数据库服务器中的数据库。

客户/服务器结构的优缺点:客户/服务器模式的数据库应用系统通过各个计算机分担处理任务,可提高整个系统的处理能力,但当客户机结点很多时,其网络与数据库服务器都可能成为系统性能瓶颈。

4.分布式结构

在大规模、跨地区的机构信息系统中,集中式数据库应用系统或客户/服务器数据库应用系统均难以满足业务处理要求,其系统必须采用分布式结构。在分布式结构中,数据库系统由分布于多个服务器运行的数据库结点组成。分布式数据库管理系统提供有效的一致性存取手段来操纵这些结点上的数据库,使这些分布的数据库在逻辑上可视为一个完整的数据库,而物理上它们是地理分散在各个服务器结点的数据库。其结构如图1-11所示。

图1-11 分布式结构

分布式结构的特点:分布式结构既实现数据分布,又实现处理分布。在分布式结构中,各服务器结点数据库在逻辑上是一个整体,但物理分布在计算机网络的不同服务器结点上运行。每个数据库服务器可通过网络既支持多个本地客户机访问,也支持远程客户机访问。网络中的每一个数据库服务器都可以独立地存取与处理数据,并执行全局应用。

分布式结构的优缺点:适应跨地区的大型机构及企业等组织对数据库应用的需求,其处理性能强,但数据库的分布处理与维护有一定的开销与技术难度。

1.3.3 数据库应用系统的生命周期

数据库应用系统作为一种典型的信息系统,按照软件工程思想,其生命周期可分为系统需求分析、系统设计、系统实现、系统测试、系统运行维护等阶段。数据库应用系统各个生命周期阶段的工作如下。

1.系统需求分析

在数据库应用系统需求分析阶段,系统分析人员与用户交流,按照需求工程方法获取系统数据需求信息。

(1)需求信息收集

需求信息的收集一般以机构职能和业务流程为主干线,从高层至低层逐步展开,从业务功能需求和用户特性要求中收集系统数据的需求信息。

(2)需求信息分析

对收集到的信息要做分析整理工作。采用面向对象分析方法或结构化分析方法建模,描述业务流程及业务中数据联系的形式,并进一步定义系统功能需求与数据需求。

(3)系统需求规格说明

本阶段的主要工作成果是完成系统需求分析报告文档。它作为系统开发的重要技术文档支持系统后续开发。针对数据库应用系统,需求分析报告除了给出系统功能需求、性能需求、安全需求外,还应反映出系统的数据需求,并且定义详尽数据字典。

2.系统设计

在数据库应用系统设计阶段,系统设计人员依据系统需求文档,开展系统总体设计和详细设计。其设计内容主要包括系统架构设计、软件功能结构设计、功能模块逻辑设计、系统数据库设计、系统接口设计等。

其中,系统数据库设计又分为概念数据模型、逻辑数据模型、物理数据模型设计。用户在进行系统数据库设计时,通常会采用一些专业的数据库建模工具来完成数据库的各类模型设计。

概念数据模型是一种面向用户现实世界的数据模型,主要用来描述现实世界的数据概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力建模,描述数据及数据之间的联系。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。

逻辑数据模型的主要目标是把概念模型转换为特定DBMS所支持的数据模型,如关系数据模型或对象数据模型。逻辑数据模型设计的输入要素包括概念模式、数据实体、约束条件、数据模型类型等。逻辑数据模型设计的输出信息包括:DBMS可处理的模式和子模式,数据库结构,数据库表结构等。同样,逻辑数据模型仍需进一步转换为物理数据模型,才能在具体DBMS中实现。

物理数据模型设计是对给定的逻辑数据模型配置一个最适合应用环境的物理结构。物理数据模型设计的输入要素包括:模式和子模式,数据库结构,数据库表结构,硬件特性,操作系统和DBMS的约束,运行要求等。物理数据模型设计的输出信息主要是物理数据库结构、存储记录格式、存储空间位置分配及访问方法等。

3.系统实现

在数据库应用系统实现阶段,按照系统设计方案进行数据库应用系统编程实现,分别进行软件程序编写、DBMS安装部署、数据库创建和数据对象实现等方面的工作。其中数据库的实现工作如下。

(1)创建数据库对象

根据物理数据模型设计结果,用DBMS提供的数据语言(DDL)编写出数据库的源模式,经编译得到目标模式,执行目标模式即可建立实际的数据库对象。

(2)载入测试数据

数据库对象建立后,装入测试数据,使数据库可进入系统测试阶段。在数据库应用系统进入测试运行之前,还要做好以下几项工作:制订数据库重新组织的可行方案;制定系统故障恢复规范;制定系统安全处理规范。

4.系统测试

在数据库应用系统测试阶段,按照系统需求规格要求,设计测试用例。使用测试用例对系统进行功能测试、性能测试、集成测试等操作,找出系统的缺陷。针对系统测试中发现的问题,通过调试手段找出错误原因和位置,然后进行改正,以解决系统设计与实现的缺陷。

针对数据库测试,则是依据数据库设计规范对软件系统的数据库结构、数据表及其之间的数据约束关系进行测试。同时,也完成数据表的数据增加、数据更新、数据删除、数据查询测试,数据库表多用户并发访问测试,数据库触发器测试,数据库存储过程测试,以保证数据库系统的数据完整性与一致性。

5.系统运行与维护

当数据库应用系统通过测试后,便可投入业务运行。在系统投入运行过程中,可能存在用户操作异常、系统故障等问题;也可能因业务增长、业务流程变化等,原有系统不再适应用户要求。在这些情况下,都必须对系统进行运行维护,其主要工作如下。

(1)维护数据库系统安全性与完整性

按照制定的安全规范和故障恢复规范,当系统出现安全问题时,及时调整授权和更改密码。及时发现系统运行时出现的错误,迅速进行修复,确保系统正常运行。定期进行数据库备份处理,一旦发生故障,立即使用数据库的备份数据予以恢复。

(2)监控与优化数据库系统运行性能

使用DBMS提供的性能监测与分析工具,实时监控系统的性能状况。当数据库的存储空间或响应时间等性能下降时,分析其原因,并及时采取措施进行系统性能优化。例如,采用调整系统配置参数、整理磁盘碎片、调整存储结构或重建数据库索引等方法,使数据库系统保持高效率的正常运作。

(3)扩展数据库系统处理能力

当业务数据量增长到一定程度后,原有系统的处理能力就难以保证业务要求。因此,适时地对原有系统的计算能力、存储容量、网络带宽进行扩充是十分必要的。

课堂讨论——本节重点与难点知识问题

1.什么是数据库应用系统?数据库应用系统主要有哪几种类型?

2.数据库应用系统有哪些结构模式?各有什么适合的应用场景?

3.数据库应用系统的生命周期有哪几个阶段?每个阶段主要有什么活动?

4.数据库表对象创建是在哪个阶段的工作内容?

5.在数据库应用系统开发中,为什么要进行系统测试?

6.在数据库应用系统投入运行后,为什么还需要DBA人员维护数据库?