第 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组件关联,从而简化编程 。
通过上面四个步骤,我们就完成了编程工作,通过编译就能运行。