
1.1 数据库基础理论
数据库技术是数据管理的技术,计算机在进行事务处理时,需要从大量有关的数据中提取信息,为了有效地使用存放在计算机系统中的大量有关数据,必须采用一整套严密合理的方法对数据进行组织、存储、维护和使用等工作,这就是数据管理。数据管理工作是不断发展的,目前都采用数据库技术。
数据库系统产生于20世纪70年代初,至今仍在发展。它的出现标志着数据管理达到了一个全新的高级阶段。数据库系统也是当代计算机系统的重要组成部分。
1.1.1 信息、数据和数据处理
进入数据库应用领域,首先遇到的是信息、数据和数据库等基本概念。这些概念和术语将贯穿在人们进行数据处理的整个过程之中,也是学习数据库技术应用、数据库管理系统软件必备的基础知识。
1.信息
在数据处理领域中,信息(Information)是客观事物属性和运动状态的反映。它所反映的是关于某一客观系统中,某一事物的某一方面属性或某一时刻的表现形式。也可以说,信息是经过加工处理的、对人类客观行为产生影响的、通过各种方式传播的、可被感知的数据表现形式。
信息是人们进行社会活动、经济活动及生产活动的产物,并可作用于这些活动过程。信息是可以感知的,可以存储、加工、传递和再生的。当今社会,信息已成为社会的主要资源,人们把能源、物质和信息并称人类社会的三大资源,也是推进人类社会发展的三大要素。
2.数据
数据(Data)是反映客观事物属性的记录,是信息的载体。对客观事物属性的记录是用一定的符号来表达的,因此说数据是信息的具体表现形式。
数据表现信息的形式是多种多样的,不仅有数字、文字符号,还有图形、图像和声音等。用数据记录同一信息可以有不同的形式,但信息不会随着数据形式的不同而改变其内容和价值。
数据与信息在概念上是有区别的。从信息处理角度看,任何事物的属性都是通过数据来表示的,数据经过加工处理后,便具有了知识性并对人类活动产生决策作用,从而形成信息。而从计算机的角度看,数据泛指那些可以被计算机接收并能够被计算机识别处理的符号。
总之,信息是数据的内涵,数据是信息的载体,信息是通过数据符号来传播的,数据如不具有知识性和有用性则不能称其为信息,也就没有价值。
3.数据处理
数据处理是利用计算机技术,对数据进行收集、存储、加工及传播等一系列活动的总和。其目的是从大量的原始数据中获得人们所需要的资料并提取有用的数据成分,作为行为和决策的依据。
计算机系统的每一步操作,均是对数据进行某种处理。数据送入计算机后,经过存储、传送、分类、排序、检索、维护及统计等操作,得到人们需要的结果,即产生信息。
1.1.2 数据库管理技术的产生与发展
随着计算机软件、硬件技术的发展,数据处理的规模日益扩大,数据管理技术应运而生,其发展过程大致经历了人工管理、文件系统和数据库系统三个阶段。
1.人工管理阶段
20世纪50年代中期之前,计算机主要用于数值计算。在这一阶段,硬件存储设备只有磁带、卡片和纸带,没有像硬盘一样可供快速、随机存储的外存储器;软件方面,没有操作系统软件和数据管理软件的支持。在这个阶段中,程序员在程序中不仅要规定数据的逻辑结构,还要设计其物理结构,包括存储结构、存取方法、输入/输出方式等。因此,在这一管理方式下,应用程序与数据之间是不可分割的。
在人工管理阶段,应用程序与数据之间的关系如图1-1所示。

图1-1 人工管理阶段应用程序与数据的关系
人工管理阶段数据管理技术的特点如下:
(1)数据不进行存储。人工管理阶段进行数据处理的过程,是将数据与其对应的应用程序一同输入内存,通过应用程序对数据进行加工处理后输出处理结果,计算任务完成,随着应用程序的释放,数据也将从内存中释放。
(2)数据与应用程序之间缺少独立性。当数据的物理组织或存储设备改变时,应用程序必须重新编制。
(3)数据不能共享。由于数据的组织面向应用,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量数据冗余,很难维护应用程序之间数据的一致性。
2.文件系统阶段
20世纪50年代中期至60年代中后期,计算机大容量存储设备(如磁盘、磁鼓)的出现,推动了软件技术的发展,特别是操作系统的出现,标志着数据管理步入一个新的阶段。数据以文件为单位,可长期保存在外存储器中,且由操作系统统一管理,操作系统为用户提供了友好的界面。
在文件系统阶段,应用程序与数据之间的关系如图1-2所示。

图1-2 文件系统阶段应用程序与数据的关系
文件系统阶段数据管理技术的特点如下:
(1)应用程序与数据之间有了一定的独立性。计算机中有了专门管理数据的软件(操作系统的文件夹管理模块),应用程序与数据之间有了数据存取接口,文件的逻辑结构与物理结构脱钩,程序和数据分离,有了一定的独立性。
(2)实现了一定程度的共享。用户的程序与数据分别存放在外存储器上,各个应用程序可以共享一组数据,实现了以文件为单位的共享。
(3)仍有数据冗余,存在数据的不一致性。由于数据的组织结构仍然是面向程序的,所以存在大量的数据冗余,数据的逻辑结构不能方便地修改和扩充。数据逻辑的每一处微小的改变都会影响到应用程序,因此在进行数据更新时,就会出现数据的不一致性。
3.数据库系统阶段
20世纪60年代末期,随着计算机在数据管理领域的普遍应用,人们对数据管理技术提出了更高的要求。与此同时,计算机硬件技术也飞速发展,磁盘存储技术取得重要突破,大容量磁盘进入市场,数据处理软件的改善成为许多软件公司的重要目标。在应用需要迫切、硬件与软件技术发展趋于成熟的条件下,数据库技术应运而生。
数据库系统以数据为中心组织数据,程序与数据具有较高的独立性,当数据的逻辑结构改变时,不涉及数据的物理结构,也不影响应用程序,从而降低应用程序研制与维护的费用。
在数据库系统阶段,应用程序与数据之间的关系如图1-3所示。

图1-3 数据库系统阶段应用程序与数据的关系
1.1.3 数据库系统的组成
数据库系统实际上是一个应用系统,它是在计算机硬件、软件系统支持下,由数据库、数据库管理系统、数据库应用系统和人员构成的数据处理系统。其中数据库管理系统是数据库系统的核心组成部分,如图1-4所示。
数据库系统的组成:
1.数据库
数据库(DataBase)是以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器上形成的,能为多个用户共享,且与应用程序彼此独立的一组相关数据的集合。

图1-4 数据库系统的组成
2.数据库管理系统
从信息处理的理论角度讲,如果把利用数据库进行信息处理的工作过程,或把掌握、管理和操纵数据库的数据资源的方法看作一个系统,则称这个系统为数据库管理系统(DataBase Management System)。
数据库管理系统通常由三个部分组成:数据描述语言(DDL)及其编译程序、数据操纵语言(DML)或查询语言及其编译或解释程序、数据库管理例行程序。
3.数据库应用系统
数据库应用系统(DataBase Application Systems)是指在数据库管理系统的基础上,根据自己的实际需要自行开发的应用程序。开发中要使用某种高级语言及其编译系统以及应用开发工具等软件。
4.人员
数据库系统的人员是指管理、开发和使用数据库系统的全部人员,主要包括数据库管理员(DataBase Administrator)、应用程序开发人员和用户。
不同的人员涉及不同的数据抽象级别。数据库管理员负责管理和控制数据库系统;应用程序开发人员负责设计应用系统的程序模块、编写应用程序;最终用户通过应用系统提供的用户界面使用数据库。
1.1.4 数据库系统的特点
数据库系统具有下述四个方面的主要特点。
1.数据结构化
数据库系统实现了整体数据的结构化,数据按一定的结构形式存储在数据库中,而且数据之间是有联系的。数据库中的数据不再仅针对某个应用,而是面向整体。
2.数据共享性高且冗余度低
因为数据是面向整体的,所以数据可以被多个用户、多个应用程序共享使用,因此可以大大减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。
3.数据独立性高
数据独立性是指数据与应用程序之间的独立性。把数据的定义从程序中分离出去,并且数据的存取由DBMS来负责,使开发人员可以把精力放在应用程序的编写上,从而大大减少应用程序的维护和修改。数据独立性包括物理独立性和逻辑独立性。
物理独立性是指数据库物理结构的改变不影响逻辑结构及应用程序,即存储设备的更换、存储数据的位移、存取方式的改变等都不影响数据库的逻辑结构,从而不会引起应用程序的变化,这就是数据的物理独立性。
逻辑独立性是指数据库逻辑结构的改变不影响应用程序,即数据库总体逻辑结构的改变,如修改数据结构定义、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,这就是数据的逻辑独立性。
4.数据由DBMS统一管理和控制
数据库中数据由数据库管理系统统一管理和控制,由数据库管理系统统一提供强有力的数据安全性保护、并发控制、故障恢复等功能。