在过去,软件是以程序为中心,而数据则以私有形式从属于程序。在此种系统中,数 据是分散、凌乱的,它造成了数据管理的混乱,如数据冗余大、一致性差、结构复杂等多 种弊病,但经过若干年的发展,数据在软件中的地位和作用发生了本质的变化,在软件中 它己占主体地位,而程序则已退居附属地位,它们构成了以数据为中心的结构。在此种结 构中,需要对数据作集中、统一的管理,并使其为多个应用程序共享,它们构成了如图13 所示的结构图,这种结构方式为数据库系统的产生与发展奠定了基础。 应用 程序 应用 应用 程序 程序 共享 数据 应用 应用 程序 程序 图1.3以数据为主体的软件系统 4)数据与信息(information) 数据与信息是两种不同的概念,在实际应用中往往引起混淆,我们说数据是指客体在 计算机中表示的形式而信息则是客体的语义表现。数据与信息表示了一个事物的两个不同 方面的理解。 2.数据库(database,简称DB) 数据库是数据的集合,它具有统一的结构形式,存放于统一的存贮介质内,并由统一 机构管理,它由多种应用数据集成,并可被应用所共享。 数据库存放数据,数据按所提供的数据模式存放,它能构造复杂的数据结构以建立数 据间内在联系与复杂关系,从而构成数据的全局结构模式。 数据库中的数据具有“集成”、“共享”的特点,亦即是数据库集中了各种应用的数据, 并对其进行统一的构造与存储,而数据可为不同应用服务与使用。 3.数据库管理系统(database management system,简称DBMS) 数据库管理系统是统一管理数据库的一种软件(属系统软件),它负责: ·数据库中的数据组织。 ·数据库中的数据操纵。 ·数据库中的数据维护。 。控制及保护数据不受破坏。 ·数据库中的数据交换。 。数据库中的数据服务。 ·数据字典 3
3 在过去,软件是以程序为中心,而数据则以私有形式从属于程序。在此种系统中,数 据是分散、凌乱的,它造成了数据管理的混乱,如数据冗余大、一致性差、结构复杂等多 种弊病,但经过若干年的发展,数据在软件中的地位和作用发生了本质的变化,在软件中 它已占主体地位,而程序则已退居附属地位,它们构成了以数据为中心的结构。在此种结 构中,需要对数据作集中、统一的管理,并使其为多个应用程序共享,它们构成了如图 1.3 所示的结构图,这种结构方式为数据库系统的产生与发展奠定了基础。 图 1.3 以数据为主体的软件系统 4)数据与信息(information) 数据与信息是两种不同的概念,在实际应用中往往引起混淆,我们说数据是指客体在 计算机中表示的形式而信息则是客体的语义表现。数据与信息表示了一个事物的两个不同 方面的理解。 2.数据库(database,简称 DB) 数据库是数据的集合,它具有统一的结构形式,存放于统一的存贮介质内,并由统一 机构管理,它由多种应用数据集成,并可被应用所共享。 数据库存放数据,数据按所提供的数据模式存放,它能构造复杂的数据结构以建立数 据间内在联系与复杂关系,从而构成数据的全局结构模式。 数据库中的数据具有“集成”、“共享”的特点,亦即是数据库集中了各种应用的数据, 并对其进行统一的构造与存储,而数据可为不同应用服务与使用。 3.数据库管理系统(database management system,简称 DBMS) 数据库管理系统是统一管理数据库的一种软件(属系统软件),它负责: 数据库中的数据组织。 数据库中的数据操纵。 数据库中的数据维护。 控制及保护数据不受破坏。 数据库中的数据交换。 数据库中的数据服务。 数据字典 共 享 数 据 应用 程序 应用 程序 应用 程序 应用 程序 应用 程序
数据库中的数据是具有海量级的数据,且其结构复杂,因此是需要管理的,它主要有 如下几方面功能: (1)数据模式定义 数据库管理系统负责为数据库构作模式,亦即是它为数据库构作其统一数据框架。 (2)数据存取的物理构作 数据库管理系统负责为数据模式的物理存取构作有效的存取方法与手段,如构作索引 (index)、集簇(cluster)及分区(partition)等。 (3)数据操纵 数据库管理系统为用户使用数据提供方便,它一般提供数据查询、插入、修改以及删 除的功能,此外,它自身还具有一定的运算、转换及统计的能力。它还可以有一定的过程 调用能力。 (4)数据的完整性、安全性定义与检查 数据库中的数据具有内在语义上的关联性与一致性,它们构成了数据的完整性。数据 的完整性是保证数据库中数据正确性的必要条件,因此必须经常检查以维护数据的正确。 数据库中的数据具有共享性,而数据共享可能会引发数据的非法使用,因此必须要对 数据正确使用作出必要的规定,并在使用时作检查,这就是数据的安全性。 数据库的完整性与安全性的维护是数据库管理系统的基本职能。 (5)数据的并发控制与故障恢复 数据库是一个集成、共享的数据集合体,它能为多个应用服务,因此就存在着多个应 用对数据库的并发操作,而在并发操作中由于多个应用间的相互干扰会对数据库中的数据 造成破坏,因此,数据库管理系统必须对多个应用的并发操作作必要的控制以保证数据不 受破坏,这就是数据的并发控制。 数据库中的数据是重要的信息财富,数据库管理系统有责任保护它并在它遭受破坏后 有能力及时进行恢复,这就是数据的故障恢复。 (6)数据交换 数据库中的数据需要与外界数据主体作数据交换,这种外界数据主体可以是操作员, 应用程序也可以是另一种数据体,作为一种扩充,数据库管理系统提供数据交换管理功能。 (7)数据的服务 数据库管理系统提供对数据库中数据的多种服务功能,如数学函数、输入出函数、数 据转换函数、日期函数等,此外还提供如数据拷贝、转储、重组、性能监测、分析等服务 功能。 (8)数据字典 数据字典是一组关于数据的数据又称元数据(metadata),它存放数据库管理系统中的 数据模式结构,数据完整性规则、安全性要求等数据。数据字典是数据库管理系统中的一 个专门的系统数据库,它具有固定的模式结构,称信息模式(information schema),用户可 用查询语言对其作操作,以获取数据库的结构性信息。 为完成以上八个功能,数据库管理系统一般提供相应的数据语言(data language): (1)数据定义语言(data definition language,简称DDL)。该语言负责数据的模式定 义与数据的物理存取构作
4 数据库中的数据是具有海量级的数据,且其结构复杂,因此是需要管理的,它主要有 如下几方面功能: (1)数据模式定义 数据库管理系统负责为数据库构作模式,亦即是它为数据库构作其统一数据框架。 (2)数据存取的物理构作 数据库管理系统负责为数据模式的物理存取构作有效的存取方法与手段,如构作索引 (index)、集簇(cluster)及分区(partition)等。 (3)数据操纵 数据库管理系统为用户使用数据提供方便,它一般提供数据查询、插入、修改以及删 除的功能,此外,它自身还具有一定的运算、转换及统计的能力。它还可以有一定的过程 调用能力。 (4)数据的完整性、安全性定义与检查 数据库中的数据具有内在语义上的关联性与一致性,它们构成了数据的完整性。数据 的完整性是保证数据库中数据正确性的必要条件,因此必须经常检查以维护数据的正确。 数据库中的数据具有共享性,而数据共享可能会引发数据的非法使用,因此必须要对 数据正确使用作出必要的规定,并在使用时作检查,这就是数据的安全性。 数据库的完整性与安全性的维护是数据库管理系统的基本职能。 (5)数据的并发控制与故障恢复 数据库是一个集成、共享的数据集合体,它能为多个应用服务,因此就存在着多个应 用对数据库的并发操作,而在并发操作中由于多个应用间的相互干扰会对数据库中的数据 造成破坏,因此,数据库管理系统必须对多个应用的并发操作作必要的控制以保证数据不 受破坏,这就是数据的并发控制。 数据库中的数据是重要的信息财富,数据库管理系统有责任保护它并在它遭受破坏后 有能力及时进行恢复,这就是数据的故障恢复。 (6)数据交换 数据库中的数据需要与外界数据主体作数据交换,这种外界数据主体可以是操作员, 应用程序也可以是另一种数据体,作为一种扩充,数据库管理系统提供数据交换管理功能。 (7)数据的服务 数据库管理系统提供对数据库中数据的多种服务功能,如数学函数、输入/出函数、数 据转换函数、日期函数等,此外还提供如数据拷贝、转储、重组、性能监测、分析等服务 功能。 (8)数据字典 数据字典是一组关于数据的数据又称元数据(metadata),它存放数据库管理系统中的 数据模式结构,数据完整性规则、安全性要求等数据。数据字典是数据库管理系统中的一 个专门的系统数据库,它具有固定的模式结构,称信息模式(information schema),用户可 用查询语言对其作操作,以获取数据库的结构性信息。 为完成以上八个功能,数据库管理系统一般提供相应的数据语言(data language): (1)数据定义语言(data definition language,简称 DDL)。该语言负责数据的模式定 义与数据的物理存取构作
(2)数据操纵语言(data manipulation language,简称DML)。该语言负责数据的操 纵,包括查询及增、删、改等操作,此外还包括数据交换等操作。 (3)数据控制语言(data control language,简称DCL)。该语言负责数据完整性、安 全性的定义与检查以及并发控制、故障恢复等功能。 以上三种语言都是非过程性语言,它们可以有多种表示形式。 此外,数据库管理系统还包括为用户提供服务的服务(utinitity)软件,如提供程序包 或函数库、类库等。 4.数据库管理员(database administrator,简称DBA) 由于数据库的共享性,因此对数据库的规划、设计、维护、监视需要有专人管理,它 们称为数据库管理员,其主要工作如下: (1)数据库的建立与调整 DBA的主要任务之一是在数据库设计基础上进行数据模式的建立,同时进行数据加 载,此外在数据库运行过程中还需对数据库进行调整、重组及重构以保证其运行的效率。 (2)数据库维护 DBA必须对数据库中数据的安全性、完整性、并发控制及系统恢复进行实施与维护。 (3)改善系统性能,提高系统效率 DBA必须随时监视数据库运行状态,不断调整内部结构,使系统保持最佳状态与最高 效率。 5.数据库系统(database system,简称DBS) 数据库系统由五个部分组成: ·数据库(数据) ·数据库管理系统(软件) ·数据库管理员(人员) ·系统平台之一一一硬件平台(硬件) ·系统平台之二一一软件平台(软件) 这五个部分包括数据、软件、硬件及人员等,它们构成了一个以数据库为核心的完整 的运行实体,称为数据库系统。 在数据库系统中其硬件平台包括以下两类: (1)计算机。它是系统中硬件的基础平台,且前常用的有微型机、小型机、中型机、 大型机及巨型机。 (2)网络。过去数据库系统一般建立在单机上,但是近年来它较多地建立在网络上, 包括局域网、广域网及互联网,而其结构形式又以客户/服务器(C/S)方式与浏览器/服务 器(B/S)方式为主,并逐步走向三层结构体系。 在数据库系统中其软件平台包括三类: (1)操作系统。它是系统的基础软件平台,目前常用的有Windows与Unix(包括Linux) 两种。 (2)数据库系统开发工具。为开发数据库应用所提供的工具,它包括过程性程序设计 语言,如C、C+等,也包括可视化开发工具VB、PB、Delphi等,它还包括近期与互联 网有关的ASP、JSP、PHP、HTML及XML等以及一些专用开发工具。 5
5 (2)数据操纵语言(data manipulation language,简称 DML)。该语言负责数据的操 纵,包括查询及增、删、改等操作,此外还包括数据交换等操作。 (3)数据控制语言(data control language,简称 DCL)。该语言负责数据完整性、安 全性的定义与检查以及并发控制、故障恢复等功能。 以上三种语言都是非过程性语言,它们可以有多种表示形式。 此外,数据库管理系统还包括为用户提供服务的服务(utinitity)软件,如提供程序包 或函数库、类库等。 4.数据库管理员(database administrator,简称 DBA) 由于数据库的共享性,因此对数据库的规划、设计、维护、监视需要有专人管理,它 们称为数据库管理员,其主要工作如下: (1)数据库的建立与调整 DBA 的主要任务之一是在数据库设计基础上进行数据模式的建立,同时进行数据加 载,此外在数据库运行过程中还需对数据库进行调整、重组及重构以保证其运行的效率。 (2)数据库维护 DBA 必须对数据库中数据的安全性、完整性、并发控制及系统恢复进行实施与维护。 (3)改善系统性能,提高系统效率 DBA 必须随时监视数据库运行状态,不断调整内部结构,使系统保持最佳状态与最高 效率。 5.数据库系统(database system,简称 DBS) 数据库系统由五个部分组成: 数据库(数据) 数据库管理系统(软件) 数据库管理员(人员) 系统平台之一——硬件平台(硬件) 系统平台之二——软件平台(软件) 这五个部分包括数据、软件、硬件及人员等,它们构成了一个以数据库为核心的完整 的运行实体,称为数据库系统。 在数据库系统中其硬件平台包括以下两类: (1)计算机。它是系统中硬件的基础平台,且前常用的有微型机、小型机、中型机、 大型机及巨型机。 (2)网络。过去数据库系统一般建立在单机上,但是近年来它较多地建立在网络上, 包括局域网、广域网及互联网,而其结构形式又以客户/服务器(C/S)方式与浏览器/服务 器(B/S)方式为主,并逐步走向三层结构体系。 在数据库系统中其软件平台包括三类: (1)操作系统。它是系统的基础软件平台,目前常用的有 Windows 与 Unix(包括 Linux) 两种。 (2)数据库系统开发工具。为开发数据库应用所提供的工具,它包括过程性程序设计 语言,如 C、C++等,也包括可视化开发工具 VB、PB、Delphi 等,它还包括近期与互联 网有关的 ASP、JSP、PHP、HTML 及 XML 等以及一些专用开发工具
(3)中间件。在网络环境下数据库系统中数据库与应用间需要有一个提供标准接口与 服务的统一平台,它们称为中间件(middle ware),目前使用较普遍的中间件有微软的.NET、 ODMG的CORBA以及SUN公司的J2EE等。它们为支持数据库应用开发、为方便用户使 用提供了基础性的服务。 6.数据库应用系统(database application system,简称DBAS) 利用数据库系统作应用开发可构成一个数据库应用系统,数据库应用系统是由数据库 系统加上应用软件、应用界面以及用户这四部分组成,具体内容包括: ·数据库 数据库管理系统 数据库管理员 系统平台之 一硬件平台 。系统平台之二一一软件平台 ● 应用软件 。应用界面 。用户 其中应用软件是由数据库系统所提供的数据库管理系统(软件)及数据库系统开发工 具书写而成,应用界面大都由相关的可视化工具开发而成,而用户则是应用系统使用者。 这三部分与应用关系密切。 数据库系统的五部分与数据库应用系统的三个部分以一定的逻辑层次结构方式组成一 个以数据库系统为核心的应用实体,其层次结构示意图如图1.4所示。 用户(9) 应用界面(8) 应用软件(7) 开发工具(6) 数据交换与中间件(5 数据库管理系统(4) 数据(3) 操作系统(2) 硬件平台(1) 图1.4数据库应用系统层次结构示意图 目前大量的流行的应用系统即属此种系统,它一般也可称信息系统(Information System)。其典型例如管理信息系统(MIS)、企业资源规划(ERP)、办公自动化系统(OA)、 情报检索系统(IRS)、客户关系管理(CRM)、财务信息系统(FIS)等事务处理系统。 6
6 (3)中间件。在网络环境下数据库系统中数据库与应用间需要有一个提供标准接口与 服务的统一平台,它们称为中间件(middle ware),目前使用较普遍的中间件有微软的.NET、 ODMG 的 CORBA 以及 SUN 公司的 J2EE 等。它们为支持数据库应用开发、为方便用户使 用提供了基础性的服务。 6.数据库应用系统(database application system,简称 DBAS) 利用数据库系统作应用开发可构成一个数据库应用系统,数据库应用系统是由数据库 系统加上应用软件、应用界面以及用户这四部分组成,具体内容包括: 数据库 数据库管理系统 数据库管理员 系统平台之一——硬件平台 系统平台之二——软件平台 应用软件 应用界面 用户 其中应用软件是由数据库系统所提供的数据库管理系统(软件)及数据库系统开发工 具书写而成,应用界面大都由相关的可视化工具开发而成,而用户则是应用系统使用者。 这三部分与应用关系密切。 数据库系统的五部分与数据库应用系统的三个部分以一定的逻辑层次结构方式组成一 个以数据库系统为核心的应用实体,其层次结构示意图如图 1.4 所示。 图 1.4 数据库应用系统层次结构示意图 目前大量的流行的应用系统即属此种系统,它一般也可称信息系统(Information System)。其典型例如管理信息系统(MIS)、企业资源规划(ERP)、办公自动化系统(OA)、 情报检索系统(IRS)、客户关系管理(CRM)、财务信息系统(FIS)等事务处理系统。 数据交换与中间件 (5) 应用界面 (8) 应 用 软 件(7) 开 发 工 具(6) 数 据 (3) 操作系统(2) 硬件平台(1) 数据库管理系统(4) 用 户 (9)
1.2数据库系统的发展及当前主流 数据库系统的发展至今己近50年,随着计算机应用领域不断扩大,它的功能、适应 范围也愈来愈广,到目前己成为计算机系统的基本及主要的支撑软件,它的发展经历了若 干个阶段,其主要发展历史可用图1.5表示。 文件系统 层次数据库系统 网状数据库系统 关系数据库系统 面向对象 工程 多媒体 空间 统计 分布式 知识库 数据库 数据库 数据库 数据库 数据库 数据库 面向对象数据库 关系数据库扩充 知识库 对象关系数据库 数据仓库 Web 数据库 安全数据库 图1.5数据库系统发展简图 下面就数据库系统发展的几个阶段作介绍。 1.文件系统阶段 文件系统是数据库系统发展的初级阶段,它出现于20世纪50年代末,它提供了简单 的数据共享与数据管理能力,但是它无法提供完整统一的管理与数据共享能力。由于它的 功能简单,因此它只能附属于操作系统而不能成为独立的软件,目前一般将其看成仅是数 据库系统的雏形,而不是真正的数据库系统。 7
7 1.2 数据库系统的发展及当前主流 数据库系统的发展至今已近 50 年,随着计算机应用领域不断扩大,它的功能、适应 范围也愈来愈广,到目前已成为计算机系统的基本及主要的支撑软件,它的发展经历了若 干个阶段,其主要发展历史可用图 1.5 表示。 图 1.5 数据库系统发展简图 下面就数据库系统发展的几个阶段作介绍。 1.文件系统阶段 文件系统是数据库系统发展的初级阶段,它出现于 20 世纪 50 年代末,它提供了简单 的数据共享与数据管理能力,但是它无法提供完整统一的管理与数据共享能力。由于它的 功能简单,因此它只能附属于操作系统而不能成为独立的软件,目前一般将其看成仅是数 据库系统的雏形,而不是真正的数据库系统。 安 全 数 据 库 Web 数 据 库 文件系统 层次数据库系统 网状数据库系统 关系数据库系统 面向对象数据库 关系数据库扩充 知识库 对象关系数据库 数 据 仓 库 面向对象 数据库 工程 数据库 多媒体 数据库 空间 数据库 统计 数据库 知识库 分布式 数据库