第 5 章 信息系统开发能力培养
本章学习目标
本章主要介绍数据库的基本知识, 信息
系统开发的有关问题及进行信息系统开发
的有关系统, 工具 。
● 为什么要采用数据库方法进行数
据管理
● 知道一个数据库系统由哪些部分
组成
● 知道数据库系统的三种数据模
型, 当前主要以哪一种为主
● 信息系统开发过程中应注意哪
些问题
● 知道进行信息系统开发有哪些
数据库系统和可视化工具
第 5章 信息系统开发能力培养
5.1 数据库概论
5.2 信息系统开发的有关问题
5.3 数据库管理系统和开发工具
5.1 数据库概论
5.1.1 数据库方法
5.1.2 数据库系统的组成
5.1.3 三种数据模型
5.1.1 数据库方法
首先,要求数据作为公共资源而集中
管理控制,为许可的各种用户所普遍共享,
消去数据冗余,节省存储空间。
其次,当数据变更时,能节省对多个
数据副本的多次变更操作,保持数据的一
致性。
再次,还要求数据具有更高的独立性,
不但具有物理独立性,而且具有逻辑独立
性。
数据库方法的优点,
1.数据集成
数据的集成是数据库管理系统的主要
目的。通过数据集成来统一计划与协调
遍及各相关应用领域的信息资源,这样
可使数据得到最大程度的共享,且冗余
最少。
分离的数据管理
2,数据共享
集成的数据管理
3,数据冗余最少
在非数据库系统中.每个应用拥有各自的数
据文件,这常常带来大量的数据冗余,如上述
工资发放应用、人事应用、劳资应用和业务档
案应用,每一个都可能拥有一个包含职工信息
(如职工号、姓名、性别、职称、工资等)的
文件。对于数据库方法,如前所述,这些分立
而有冗余的数据文件被集成为单一的逻辑结构
.而且每一数据项值可以理想地只存储一 次。
4,数据一致性
通过消除或控制数据冗余, 可以在一定范围内
避免数据的不一致性 。 例如, 假定张三的工资
,115元, 这个数据存储在数据库的两个不同记
录中, 则当张三工资变动而要更新他的工资额
时, 若无控制, 且只更新一个记录, 则会引起
同一数据的两个副本的不一致性, 此时称数据
库是不一致的 。
显然,引起不一致性的根源是数据冗余。若
一个数据在数据库中只存储一次,则根本不可
能发生不一致性。
5,实施统一标准
数据库对数据进行集中管理控制, 但数据
库必须由人实现和进行维护管理, 所以一个
数据库系统必须包括一个称为数据库管理的
组织机构 ( DBA) 。 其在管理上负责制定并
实施进行数据管理的统一标准和控制过程 。
统一标准的数据有利于共享与彼此交换, 有
利于数据定义的重叠或冲突问题的解决以及
今后的变更 。
6,统一安全, 保密和完整性控制
DBA机构对数据库有完全的管辖权且负责建
立对数据的加入, 检索, 修改, 删除权限及有
效性的检验过程, 可以对数据库中各种数据的
每一类型的操作建立不同的检验过程 。 这种集
中控制和标准过程较之分散数据文件的系统加
强了对数据库的保护, 使数据的定义或结构与
数据之间的使用发生冲突的可能性最小 。 在检
验控制方面, 数据库比传统的文件危险性更大
,因为它牵涉的用户更多 。
7,数据独立
数据说明与使用数据的程序分离称为数据独立。换
句话说,就是数据或应用程序的修改不彼此引起对方
的修改(在适当范围内)。数据库系统提供了两层数
据独立。其一是,不同的应用程序(用户)对同样的
数据可以使用不同的视图,这意味着应用程序在一定
范围内修改时,可以只修改数据库视图而不修改数据
本身的说明;反之,数据说明的修改,在一定范围内
不引起应用程序的修改。这种独立称数据的逻辑独立
。其二是,可改变数据的存储结构或存取方法以适应
变化的需求而无需修改现有的应用程序,这称为数据
的物理独立。
8,减少应用程序的开发与维护
数据库方法表现在应用方面的一个主要
优点是:在数据库上开发新的事务所花的
代价和时间大大减少 。 由于数据库中的数
据具有共享性, 独立性及统一标准等, 使
程序设计员不再承担主文件 ( 基本数据文
件 ) 的设计, 建造与维护的繁重负担, 所
以开发新应用软件的代价和为用户提供服
务所需要的时间期限等, 都可大大减小 。
5.1.2 数据库系统的组成
一个数据库系统是由数据、软件、硬
件和人员组成的一个集合体。
数据库系统的组成
一个数据库系统是由数据、软件、硬件和人
员组成的一个集合体。
1,数据库
一个数据库可以定义为满足一个或多个用户信
息要求的集成数据存储库 。 此定义包含了一个数
据库的要素:集成, 共享, 存储和信息 。 关于数
据库的集成与共享在前面已有较详细叙述, 这里
不再重复, 现仅就后两者作简要说明 。
数据库的存储指的是它存储于计算机系
统中。一个数据库包含的数据量很大,一般
用数以兆字节计,所以只能存于外存设备
(主要是磁盘)上,数据库在运行过程中还
将不断扩大,因此要求外存储器容量较大。
另一面,数据库中包含的数据类型多,数据
间的联系复杂,因而有一个数据在存储设备
上如何组织及如何有效存取的问题,同时,
还要根据用户的地理分布要求确定数据应是
存储于单个计算机系统中还是分散于多个计
算机系统中。
2,数据库系统软件
数据库系统的终端用户关心的是业务,他们
将数据库系统作为一个工具用来实现他们的业
务工作,要将用户的要求变成对物理数据库的
存取,在用户与物理数据库之间需要一系列软
件的支持。
( 1) 数据库管理系统
处理所有用户对数据库存取请求的软件系统叫数
据库管理系统或 DBMS( Data Base Management
System), 它是数据库系统中的核心软件部件 。 由
DBMS提供的一个总的功能是向用户隐蔽数据库的
物理 ( 或硬件 ) 级细节, 换句话说, 就是提供了一
个比物理级更高的数据库视图, 并支持按这个更高
视图表示的用户操作 。
DBMS有两个主要支持操作的部分:数据库控制子
系统和数据库存储子系统。数据库控制子系统是面
向用户的,它接受用户程序的数据请求(如, 读,
,,写, 等)。
( 2) 非 DBMS软件
非 DBMS是指除 DBMS之外作为一个一般意义
下的数据库管理系统应该具有的软件部件,它与
DBMS协同工作但不属于 DBMS本身的功能部件
。这类软件主要有:操作系统、程序设计语言及
其编译系统,在数据库系统中程序设计语言又称
为宿主语言,如 COBOL,FORTRAN,C语言等;数据通信系统,它管理所有与远程终端的通信;各种应用程序,它们直接服务于终端用户的各
种业务需求,并向 DBMS发数据请求。
( 3) 集成数据库管理软件
这种软件是辅助或配合 DBMS工作的功能部
件,一般不能独立使用,总是与某种 DBMS集
成在一起,但非 DBMS所必备的功能,是在
DBMS上再开发的。这种软件有自动报表生成
程序、表处理程序、数据库应用开发工具、数
据库辅助设计工具、数据库测试工具、数据转
换设施等等,如 dBASE的 dFORMAT,Rdb的
DATATRIEVE和 FMS等。
3,数据库系统用户
一个数据库系统的建设与许多人相关, 按他们
的技能与工作性质的不同可分为两大类:数据处
理与非数据处理人员 。
数据处理人员包括应用程序员、系统程序员、
数据库管理员( DBA),计算机操作员(包括数
据录入员)。
非数据处理用户就是一般的业务人员, 他们没有
什么数据处理专业知识 。 上述各类人员的工作都
是为了支持他们的, 所以他们称为最终 ( 或终端
) 用户 。
4,数据库系统硬件
数据库系统对硬件也有一些特殊要求, 如要
求较大的内存 。 因为, 操作系统, 数据库管理
系统的各功能部件及应用程序要存储在内存,
还有数据库的各种表格, 目录, 系统缓冲区,
各用户工作区及系统通信单元等都要占用内存

数据库本身要求大容量直接存取存储设备和
较高的通道能力。一般的数据库系统都要求处
理机有较强的数据处理能力,如变字长运算、
字符处理等。
5.1.3 三种数据模型
现在世界上运行的数据库系统有好
几百,但根据它们的数据模型来看,
可划分为三类:层次模型、网状模型、
关系模型。
5.2 信息系统开发的有关问题
5.2.1 信息系统开发中常见的一些问题
5.2.2 系统的方法
5.2.3 系统开发步骤
5.2.4 信息系统开发的指导思想和
工作原则
5.2.1 信息系统开发中常见的一些问题
1,信息系统开发人员对需求的理解出现
偏差 。
2., 堆栈, 现象 。
3,重编程, 轻规划, 轻分析 。
4,当信息系统开发进度减缓时, 采用增
加人员的方式来加快进度 。
5,过低估计信息系统的投资而使开发工
作夭折 。
5.2.2 系统的方法
系统方法或系统方法论是研究系统工程的方法论。
所谓系统工程有两层含意,作为科学,它是以研究大
规模复杂系统为对象、以系统概念为主线,引用其他
学科的一些理论、概念和思想而形成的多元化的科学;
作为工程,它又是一门工程技术,具有和一般工程技
术相同的特征,但又具有本身的特点。信息系统的开
发是这样一种系统工程,它并不研究特定的工程物质
对象,而是研究为协调物质对象而存在的信息系统,
研究如何将现有的人工信息管理模式转换成利用计算
机、通信等技术的新型现代化信息管理模式,这种转
换过程就是信息系统开发。
5.2.3 系统开发步骤
1,可行性分析
2,信息系统规划阶段
3,信息系统分析阶段
4,信息系统设计阶段
5,信息系统开发实施阶段
6,信息系统测试阶段
7,信息系统安装调试阶段
8,信息系统试运行阶段
9,信息系统运行维护阶段
10,信息系统更新阶段
5.2.4 信息系统开发的指导和工作原则
1.数据位于现代数据处理的中心。
2.数据模型是稳定的,处理是多变的。
3.用户必须真正参与开发工作。
5.3 数据库管理系统和开发工具
5.3.1 SQL语言
5.3.2 Oracle系统
5.3.3 Visual FoxPro
5.3.4 Delphi
5.3.1 SQL语言
数据库语言 SQL( Structured Query Language)
是关系数据库的标准语言。其前身为 SEQUEL语言,
是由 Boyce和 Chamberlin于 1974年提出的。 1974~
1977年美国 IBM公司的加利福尼亚 San Jase实验室
研制出第一个实现了 SEQUEL 2( 即现在的 SQL)
的关系数据库管理系统 System R。 随后,1979年美
国 ORACLE公司的 ORACLE关系数据库管理系统,
1982年 IBM公司的关系数据库管理系统 SQL/ DS
与 DB2,1984年 Sybase公司的高性能关系数据库
管理系统 SYBASE等都相继采用了 SQL为它们的数
据库语言。
SQL语言在众多计算机公司与软件公司的应用
中不断得到修改与完善,1976年 10月 16日美国国
家标准协会( ANSI) 将其批准为美国国家标准:
ANSI X3,135- 1986数据库语言 SQL。 稍后国际
标准化组织 ISO也将其接纳为 ISO标准草案
DIS9075。 SQL标准的产生与制定是有其重大意义
的,因为不仅是研制关系型 DBMS均应遵循 SQL
标准,而且原先已推出的一些广为流行的 DBMS
为了适应形势的需要也都在自身的上面增补了
SQL界面,如 dBASE Ⅳ, INFORMIX- SQL
( ESQL- C,4GL) 以及 Ingres,Rdb等等。
SQL是一种数据库语言, 但也同时包含了关系
数据库的定义, 查询, 维护, 控制等描述功能 。
它是一个标准, 是实现关系型数据库管理系统的
一个大纲与框架, 与具体机器无关, 与各种牌号
具体的关系型 DBMS通过什么技术途径来实现的
细节无关 。
它为数据库定义与应用程序的移植提供了一种
媒介, 只要它们都是在符合 SQL标准的 DBMS之
上所开发的 。 学习 SQL标准, 就能够很快地理解
和掌握具体关系型 DBMS的语言文本, 而不论它
是 SQL标准的子集, 还是其超集 。
5.3.2 Oracle系统
ORACLE关系数据库系统是美国 ORACLE公司的
产品 。 ORACLE公司成立于 1977年, 专门从事研
究, 生产关系数据库管理系统 。
ORACLE公司于 1979年推出了 ORACLE的第二
个版本, 它采用 SQL语言作为其数据库语言, 并运
行于 VAX小型机上 。 1984年又推出了适用于微机
的版本;于 1986年推出了分布式数据库产品 SQL *
STAR( ORACLE RDBMS V5.1) ; 1988年推出了
具有联机事务处理功能的第六个版本 。 目前, 广
泛使用的是具有智能化的数据库系统 ORACLE
RDBMS第七版 。
ORACLE系统之所以广为流行, 是因
为它具有以下明显的优点,
( 1) 兼容性 。
( 2)可移植性。
( 3)可联结性。
( 4)高的生产率,即 ORACLE是便于
应用开发的。
5.3.3 Visual FoxPro
基于 DOS环境下的 dBASE,FoxBase是 20世
纪 80年代末,90年代初中国计算机用户所熟悉
和喜欢的关系数据库管理软件。 1990年,
Microsoft公司推出了与它们兼容的关系数据库
管理软件 FoxPro( 包括 DOS版和 Windows版)。
之后,随着面向对象编程技术的发展和成熟,
Microsoft公司又及时推出了可视化数据库开发
工具 Visual FoxPro。
主要特点有,
( 1) 是一种可视化, 事件驱动型的 Windows
应用程序开发工具, 适于单台计算机和计算机
网络上的数据库管理系统的开发 。
( 2) Visual FoxPro以友好的用户界面, 交互
式的人机对话方式, 向导问答式的开发模式,
给应用开发带来很大方便 。 它使得用户能够轻
轻松松地生成专业级的 GUI用户界面, 组织数
据, 创建数据库和表, 定义数据库规则并生成
VFP应用程序 。
( 3) 在开发环境中集成了功能强大的面向
对象编程工具, ActiveX控件支持, OLE拖放,
强大的客户机 /服务支持能力, 完善的向导和
生成器 。
( 4) 通过 ODBC驱动程序可以访问的其他
数据源有,FoxPro版本 2.x数据库, Microsoft
Access数据库, Paradox版本 3, x和 4, x表,
dBASEⅢ 和 Ⅳ 文件, Btrieve表, SQL Server
数据库, Microsoft Excel电子表格 ( 版本 3.0
或以上 ), 有分隔且宽度固定的文本文件,
Oracle 7数据库 。
5.3.4 Delphi
1,BDE的功能原理
Delphi数据库应用程序能访问多种类型数据库
,可以这样说, 只要安装了相应数据库的驱动程
序, 就能在 Delphi应用程序中访问相应的数据库
。 根据 BDE的功能原理图, 可以看到:数据库引
擎位于 Delphi应用程序和 Foxpro数据库驱动程序
,dBASE数据库驱动程序, Paradox数据库驱动程
序等驱动程序之间, BDE实际上是安装各类数据
库驱动程序的接囗 。
图 5.3.1 BDE功能位置图
数据库引擎 BDE
Foxpro
数据库
Driver
dBASE
数据库
Driver
Oracle
数据库
Driver
Paradox
数据库 Driver
Foxpro
数据库
dBASE
数据库
Oracle
数据库
Paradox数据 库
Delphi应用程序
Delphi数据库应用程序的工作流程 。
Delphi数据库应用程序的代码主要分为两大
类, 一类是对象 Pascal语言代码, 一类是访
问数据库的代码 。
第一类代码主要是与数据库访问无关的代
码, 直接执行 。
针对第二类代码, 则交给数据库引擎 BDE,
BDE进行分析, 确定欲访问的数据库类型,
然后交给相应的数据库驱动程序, 由相应
的数据库驱动程序去直接访问相应的数据
库, 并对数据库完成相应的处理 。
2,Delphi数据库应用程序的编程方法
Delphi提供了一系列数据库组件对数据库编程
进行支持。数据库组件主要分为三大类。
第一类是数据库源组件,主要有两个,Tbable
组件和 Query组件,用于指明欲进行访问的数据
库。
第二类是数据库访问组件, 是用于对数据库进
行查询, 编辑, 控制等操作的访问组件, 是最重要
而且数量最多的一类组件, 如:组件 DBGrid是可以
一次显示整个数据表格的网格, 它允许滚动与遍历,
并可以编辑网格内容; DBNavigator是用于在数据库
中遍历与执行操作的按钮集; DBLable显示但不能
改动一个字段的内容; DBImage显示一幅存储在
BLOB字段中的图像 。
第三类是数据通道组件 。 该类组件只有一个,
DataSource,用于在第一类组件和第二类组件之间
建立一个数据通道 。
例如, 为建立一个对单一数据库进行显示,
修改并可添加记录项的应用程序 。
第一步, 从组件面板上选取三个组件 。 首先
选取数据库源组件 Table,然后选取数据库访问组
件 DBGrid,最后选取数据通道组件 DataSource。
第二步, 设置组件 Table的属性 。 Name属性用
于指定 Table组件的名称, 系统自动设置为
Table1,我们既可以更改它, 也可不更改, 在
此我们保留系统设置 。 DataBaseName属性设置
数据库的路径, 最好使用别名; TableName属
性设置数据库文件名; ReadOnly属性设置数据
库的存取方式, 若设置为 true,则只能读不能编
辑数据库中的记录, 若设置为 false则能读和编
辑数据库中的记录; Active属性决定是否打开
( 激活 ) 数据库, 在对数据库进行访问之前必
须先打开数据库, 即设置该属性为 true。
第三步, 设置组件 DataSource的属性 。
该组件主要需设置 DataSet和 Name属性 。
Name属性是指定组件 DataSource的名称,
系统自动设置为 DataSource1,在此我们保
留系统设置 。 DataSet属性用于和一个数据
库源建立联系, 即用于指定 Table组件的名
称, 在此设置为 Table1。
第四步, 设置组件 DBGrid的属性 。 该组件一
般 只 需 设 置 DataSource 属性, 用 于 和 组 件
DataSource建立联系, 从而和数据库源 Table1建
立联系, 在此设置为 DataSource1。 很显然, 组
件 DataSource是用于在组件 Table和组件 DBGrid
之间建立联系, 即建立一个数据通道为了简化
编程, 能否省略掉组件 DataSource。 答案是否
定的, 因为在实际编程过程中, 将可能有多个
访问组件存取同一个数据库源, 引入组件
DataSource后, 所有的访问组件只需和组件
DataSource建立联系, 无需直接和 Table组件关
联, 从而简化编程 。
通过上面四个步骤,我们就完成了
编程工作,通过编译就能运行。