1.1 数据库技术概述

1946年第一台计算机研制成功,标志着人类开始使用机器来存储和管理数据。随着计算机技术的发展和普及,计算机管理数据的方式也在不断地发生变化,从手工处理方式到文件系统方式,再到数据库系统方式。现在,数据库技术成为数据管理的最新技术,也成为计算机科学中的一个重要分支。数据库技术作为信息技术的一个重要支撑部分,它的产生来源于社会的实际需要,同时又给社会生活的各个领域带来了许多积极的影响。

1.1.1 数据库的基本概念

1.数据

数据(Data)是客观事物的反映和记录,是用以载荷信息的物理符号。数据不等同于数字,数据包括两大类,即数值型数据和非数值型数据。在计算机系统中,凡是能被计算机存储并处理的数字、字符、图形和声音等统称为数据。

在学习“数据”概念的同时,我们有必要区分一下数据和信息这两个概念。信息是指有意义的数据,即在数据上定义的有意义的描述。比如对“101”而言,如果仅仅是3个代码的组合,它表示的是数据(一种符号表示);而“软件技术专业的101 个学生”中的“101”就是信息,表示学生的数量。数据和信息是两个相互联系但又相互区别的概念;数据是信息的具体表现形式,信息是数据有意义的表现。

2.数据处理

数据处理就是将数据转换为信息的过程。数据处理的内容主要包括:数据的收集、整理、存储、加工、分类、维护、排序、检索和传输等一系列活动的总和。数据处理的目的是从大量的数据中,根据数据自身的规律及其相互联系,通过分析、归纳、推理等科学方法,利用计算机技术、数据库技术等手段,提取有效的信息资源,为进一步分析、管理和决策提供依据。数据处理也称信息处理。

例如,将信息工程系各专业学生人数相加,经过计算得出平均人数和总人数等信息,这种计算处理的过程就是数据处理。

3.数据库

数据库(DB)是数据库系统(DBS)的核心,是被管理的对象。形象地说,数据库即存放数据的仓库,我们把它定义为存放在计算机存储设备上的相关数据的集合。数据库最终也是以文件的形式存储的,但不同于普通文件的是,它指的是相互关联的数据的集合,而一般文件是相关信息的集合,它的存放形式可以是杂乱无章的。

4.数据库管理系统

数据库管理系统(DBMS)负责对数据库进行管理和维护,它是数据库系统的主要软件系统,是管理的部门。它借助于操作系统实现对数据的存储管理。

一般来说,DBMS应包括如下几个功能。

● 数据定义语言(DDL):用来描述和定义数据库中各种数据及数据之间的联系。

● 数据管理语言(DML):用来对数据库中的数据进行插入、查找、修改和删除等操作。

● 数据控制语言(DCL):用来完成系统控制、数据完整性控制及并发控制等操作。

关系数据库领域中典型的DBMS系统有:Oracle、Sybase、Informix、Foxpro、DB2和SQL Server等。

5.数据库系统

数据库系统实际上是一个应用系统,它由数据库、数据库管理系统、用户和计算机系统组成。

(1)数据库

数据库是数据库系统操作的对象。数据库中的数据具有集中性和共享性。所谓集中性是指数据库可以被看成性质不同的数据文件的集合,其中的数据冗余很小。所谓共享性是指多个不同用户,使用不同的语言,为了不同的应用目的可同时存取数据库中的数据。

(2)数据库管理系统

数据库管理系统是数据库系统负责对数据库进行管理的软件系统。它对数据库中的数据资源进行统一管理和控制,把用户程序和数据库数据进行隔离。

如图1-1所示是数据库管理系统与计算机硬件及其他软件的层次关系,外层应用依赖于内层资源的支持。

图1-1 DBMS与计算机软、硬件的层次关系

(3)用户

用户是指使用数据库的人员。数据库系统中的用户有终端用户、应用程序员和数据库管理员3类用户。

● 终端用户是指数据库系统的最终使用人员,他们通过数据库系统提供的界面友好的交互式对话手段使用数据库中的数据。

● 应用程序员是为终端用户编写应用程序的软件人员,他们设计的应用程序主要目的是使用和维护数据库。

● 数据库管理员(DBA)是全面负责数据库系统正常运转的高级人员,他们负责对数据库系统的深入研究。

例如:一个电子商务网站中,通过浏览器进行信息查询和购物的用户即为最终用户;编写网页程序和相关管理程序的人员即为应用程序员;负责后台网络数据库的维护人员即为数据库管理员(DBA)。

(4)计算机系统

计算机系统是指存储数据库及运行DBMS的软、硬件资源,如操作系统和磁盘、I/O通道等。

1.1.2 数据处理发展简史

自计算机产生以来,数据处理经历了手工处理、文件系统和数据库系统阶段,现在已经发展到数据仓库技术阶段。

1.手工处理

20世纪50年代以前,计算机应用于科学计算。这个阶段的数据处理是通过手工进行的,计算机上没有专门管理数据的软件,也没有磁盘之类的存储设备来存储数据,那时应用程序和数据之间存在一对一的关系,即一个程序对应于一组数据,这样就造成了手工处理数据的两个缺点:一是应用程序和数据之间的依赖性太强,独立性差;二是数据和数据之间存在许多重复数据,造成大量数据冗余,如图1-2所示。

图1-2 手工数据处理模型

2.文件系统

20世纪50年代中期以后,随着计算机的硬件和软件的飞速发展,出现了专门管理数据的软件,即文件系统。在文件系统数据管理阶段,数据按一定的规则组织成一个文件,应用程序通过文件系统对文件中的数据进行存取和加工。文件系统对数据的管理,实际上是通过应用程序和数据之间的一种接口实现的。

文件系统解决了应用程序和数据之间的一个公共接口问题,使得应用程序可以采用统一的存取方法来操作数据。但是,不同的应用程序很难共享同一数据文件,也就是说,数据独立性仍然较差,数据冗余度较大,如图1-3所示。

图1-3 文件系统模型

3.数据库系统

20世纪60年代以后,为了满足巨大的信息流和数据流的需要,数据库系统出现了。数据库系统也是以文件方式存储数据的,但它是数据的一种高级组织形式。在应用程序和数据库之间有一个新的数据管理软件DBMS,即数据库管理系统。数据库管理系统把所有应用程序中使用的数据汇集在一起,并以记录为单位存储起来,以便于应用程序查询和使用,如图1-4所示。

图1-4 数据库系统模型

数据库系统中数据库对数据的存储和管理是按照同一结构进行的,不同的应用程序都可以直接操作这些数据,也就是说,应用程序具有高度的独立性。同时,数据库系统对数据的完整性、唯一性和安全性都提供了一套有效的管理手段。数据库系统还提供管理和控制数据的各种简单操作命令,使用户编写程序时更容易掌握。相对文件而言,数据库系统有如下几个特点。

● 数据结构化:数据库系统中包含的多个单独的文件之间是相互联系的,在整体上有一个统一的结构形式。

● 数据共享:数据库系统中的数据可以为不同的用户使用。

● 数据独立性:应用程序和数据库间的依赖性较小。

● 最小冗余度:数据库系统中的数据集中存储,共同使用,避免了大量重复。

自20世纪60年代中期以来,数据库技术与其他领域的技术相结合,出现了数据库的许多新分支,如:与网络技术相结合的网络数据库;与分布式处理技术相结合的分布式数据库;与面向对象技术相结合的面向对象数据库;与人工智能技术相结合出现了知识库、主动数据库;与并行处理技术相结合的并行数据库;与多媒体技术相结合的多媒体数据库。此外,针对不同应用领域还出现了工程数据库、实时数据库、空间数据库、地理数据库、统计数据库、时态数据库和数据仓库等多种数据库及相关技术。