2.层次数据库与网状数据库系统阶段 20世纪60年代末,真正的数据库系统:层次数据库与网状数据库开始发展,它们为 统一管理与共享数据提供了有力支撑,这个时期数据库系统蓬勃发展形成了有名的“数据 库时代”。但是这两种系统也存在不足,主要是它们脱胎于文件系统,受文件的物理影响较 大,给数据库使用带来诸多不便,同时,此类系统的数据模式构造繁琐难以推广使用。 3.关系数据库系统阶段 关系数据库系统出现于20世纪70年代,并在80年代得到蓬勃发展,并逐渐取代前两 种系统。关系数据库系统结构简单、使用方便、逻辑性强、物理性少,因此在80年代以后 一直占据数据库领域的主导地位。但是由于此系统来源于商业应用,适合于事务处理领域 而在非事务处理领域的应用受到限制,于是在80年代末兴起专用数据库系统如下。 (1)工程数据库系统:是数据库与工程领域的结合。 (2)多媒体数据库系统:是数据库与多媒体应用的结合。 (3)空间数据库系统:是数据库与CAD/CAM应用的结合。 (4)统计数据库系统:是数据库与统计应用的结合。 (5)知识库系统:是数据库与人工智能应用领域的结合。 (6)分布式数据库系统:是数据库与网络应用的结合。 (7)面向对象数据库系统:是数据库与面向对象方法的结合。 这些专用数据库的兴起都是为弥补关系数据库在非事务处理中的不足而产生的,它们 的出现带来了数据库发展的百花齐放和又一个高潮的出现。 在90年代初、中期面对多种专用数据库的出现产生了一系列问题,最主要的是这些数 据库系统专用性有余而通用性不足,因此严重影响其推广使用,人们又一次进行反思,认 为发展通用性数据库系统是数据库发展的必然之路,因此将研究与发展重点集中于具有通 用性的三个数据库系统,它们是: (1)面向对象数据库系统用面向对象方法构筑面向对象数据模型使其具有比关系数 据库系统更为通用的能力。 (2)知识库系统用人工智能中的方法特别是用谓词逻辑知识表示方法构筑数据模 型,使其模型具有特别通用的能力。 (3)关系数据库系统扩充利用关系数据库作进一步扩展,使其在模型的表达能力与 功能上有进一步的加强。 关系数据库系统在20余年间经历了“合久必分,分久必合”的复杂过程。 4.新一代数据库系统阶段 进入21世纪,数据库系统的发展集中于对关系数据库系统的进一步扩充与改造,由于 面向对象数据库系统与知识库系统在发展过程中遇到了算法与应用上的困难,因此,进一 步改造关系数据库系统并扩充其功能成为近年来的主要方向,它主要表现在如下几个方面: (1)对象关系数据库系统 在关系数据库系统之上增加面向对象的若干功能,使系统在保留关系模型的基础上又具 有一定面向对象功能,这是目前关系数据库发展的主要方向。目前主要商用数据库产品如 Oracle,Sybase,DB2等都具有一定面向对象的功能,此种系统称为对象关系数据库系统。 (2)数据仓库 8
8 2.层次数据库与网状数据库系统阶段 20 世纪 60 年代末,真正的数据库系统:层次数据库与网状数据库开始发展,它们为 统一管理与共享数据提供了有力支撑,这个时期数据库系统蓬勃发展形成了有名的“数据 库时代”。但是这两种系统也存在不足,主要是它们脱胎于文件系统,受文件的物理影响较 大,给数据库使用带来诸多不便,同时,此类系统的数据模式构造繁琐难以推广使用。 3.关系数据库系统阶段 关系数据库系统出现于 20 世纪 70 年代,并在 80 年代得到蓬勃发展,并逐渐取代前两 种系统。关系数据库系统结构简单、使用方便、逻辑性强、物理性少,因此在 80 年代以后 一直占据数据库领域的主导地位。但是由于此系统来源于商业应用,适合于事务处理领域 而在非事务处理领域的应用受到限制,于是在 80 年代末兴起专用数据库系统如下。 (1)工程数据库系统:是数据库与工程领域的结合。 (2)多媒体数据库系统:是数据库与多媒体应用的结合。 (3)空间数据库系统:是数据库与 CAD/CAM 应用的结合。 (4)统计数据库系统:是数据库与统计应用的结合。 (5)知识库系统:是数据库与人工智能应用领域的结合。 (6)分布式数据库系统:是数据库与网络应用的结合。 (7)面向对象数据库系统:是数据库与面向对象方法的结合。 这些专用数据库的兴起都是为弥补关系数据库在非事务处理中的不足而产生的,它们 的出现带来了数据库发展的百花齐放和又一个高潮的出现。 在 90 年代初、中期面对多种专用数据库的出现产生了一系列问题,最主要的是这些数 据库系统专用性有余而通用性不足,因此严重影响其推广使用,人们又一次进行反思,认 为发展通用性数据库系统是数据库发展的必然之路,因此将研究与发展重点集中于具有通 用性的三个数据库系统,它们是: (1)面向对象数据库系统 用面向对象方法构筑面向对象数据模型使其具有比关系数 据库系统更为通用的能力。 (2)知识库系统 用人工智能中的方法特别是用谓词逻辑知识表示方法构筑数据模 型,使其模型具有特别通用的能力。 (3)关系数据库系统扩充 利用关系数据库作进一步扩展,使其在模型的表达能力与 功能上有进一步的加强。 关系数据库系统在 20 余年间经历了“合久必分,分久必合”的复杂过程。 4.新一代数据库系统阶段 进入 21 世纪,数据库系统的发展集中于对关系数据库系统的进一步扩充与改造,由于 面向对象数据库系统与知识库系统在发展过程中遇到了算法与应用上的困难,因此,进一 步改造关系数据库系统并扩充其功能成为近年来的主要方向,它主要表现在如下几个方面: (1)对象关系数据库系统 在关系数据库系统之上增加面向对象的若干功能,使系统在保留关系模型的基础上又具 有一定面向对象功能,这是目前关系数据库发展的主要方向。目前主要商用数据库产品如 Oracle,Sybase,DB2 等都具有一定面向对象的功能,此种系统称为对象关系数据库系统。 (2)数据仓库
关系数据库系统的进一步发展由传统事务性处理向决策、统计型发展从而出现了数据 仓库,这是关系数据库系统功能上的进一步扩充。 (3)Web数据库 由于互联网的发展,关系数据库系统与互联网结合成为重要方向,因此出现了Wb数 据库等基于网络的数据库系统。 (4)安全数据库 数据库与网络的紧密结合以及网上黑客的横行使得数据库的安全变得特别重要,因此 出现了安全数据库,它己成为网络时代信息安全重要内容之一。 以上四个方向构成了新一代数据库发展的主流。在本书中将介绍图1.5所列的所有数据 库系统(个别除外)。 1.3数据库系统的特点 数据库系统有很多特点,下面就几个基本特点作介绍。 1.数据的集成性 数据库系统的数据集成性主要表现在如下几个方面: (1)在数据库系统中采用统一的数据结构方式,如在关系数据库中采用二维表统一结 构方式。 (2)在数据库系统中按照多个应用的需要组织全局的统一的数据结构,称为数据模式。 数据模式不仅可以建立全局的数据结构,还可以建立数据间的语义联系,从而构成一个内 在紧密联系的数据整体。 (3)数据库系统中的数据模式是多个应用共同的、全局的数据结构,而每个应用的 数据则是全局结构中的一部分,称为局部结构,这种全局与局部的结构模式构成了数据库 系统数据集成性的主要特征。 2.数据的高共享性与低冗余性 由于数据的集成性使得数据可为多个应用所共享,而数据的共享又可极大地减少数据 的冗余性,它不仅可以减少不必要的存储空间,更为重要的是可以避免数据的不一致性。 所谓数据的一致性即是在系统中同一数据的不同出现应保持相同的值:而数据的不一 致性指的是同一数据在系统的不同拷贝处有不同的值。数据的不一致性会造成系统的混乱, 因此,减少冗余性避免数据的不同出现是保证系统一致性的基础。 数据的共享不仅可以为多个应用服务,还可以为不断出现的新的应用提供服务,特别 是在网络发达的今天,数据库与网络的结合扩大了数据关系的范围,使数据信息这种财富 可以发挥更大的作用。 3.数据独立性 数据独立性即是数据库中数据独立于应用程序而不依赖于应用程序,也就是说数据的 逻辑结构、存储结构与存取方式的改变不影响应用程序。 数据独立性一般分为物理独立性与逻辑独立性两级。 (1)物理独立性是指数据的物理结构(包括存储结构、存取方式等)的改变,如存 储设备的更换、物理存储的更换、存取方式的改变等都不影响数据库的逻辑结构,从而不 致引起应用程序的变化。 9
9 关系数据库系统的进一步发展由传统事务性处理向决策、统计型发展从而出现了数据 仓库,这是关系数据库系统功能上的进一步扩充。 (3)Web 数据库 由于互联网的发展,关系数据库系统与互联网结合成为重要方向,因此出现了 Web 数 据库等基于网络的数据库系统。 (4)安全数据库 数据库与网络的紧密结合以及网上黑客的横行使得数据库的安全变得特别重要,因此 出现了安全数据库,它已成为网络时代信息安全重要内容之一。 以上四个方向构成了新一代数据库发展的主流。在本书中将介绍图 1.5 所列的所有数据 库系统(个别除外)。 1.3 数据库系统的特点 数据库系统有很多特点,下面就几个基本特点作介绍。 1.数据的集成性 数据库系统的数据集成性主要表现在如下几个方面: (1)在数据库系统中采用统一的数据结构方式,如在关系数据库中采用二维表统一结 构方式。 (2)在数据库系统中按照多个应用的需要组织全局的统一的数据结构,称为数据模式。 数据模式不仅可以建立全局的数据结构,还可以建立数据间的语义联系,从而构成一个内 在紧密联系的数据整体。 (3)数据库系统中的数据模式是多个应用共同的、全局的数据结构,而每个应用的 数据则是全局结构中的一部分,称为局部结构,这种全局与局部的结构模式构成了数据库 系统数据集成性的主要特征。 2.数据的高共享性与低冗余性 由于数据的集成性使得数据可为多个应用所共享,而数据的共享又可极大地减少数据 的冗余性,它不仅可以减少不必要的存储空间,更为重要的是可以避免数据的不一致性。 所谓数据的一致性即是在系统中同一数据的不同出现应保持相同的值;而数据的不一 致性指的是同一数据在系统的不同拷贝处有不同的值。数据的不一致性会造成系统的混乱, 因此,减少冗余性避免数据的不同出现是保证系统一致性的基础。 数据的共享不仅可以为多个应用服务,还可以为不断出现的新的应用提供服务,特别 是在网络发达的今天,数据库与网络的结合扩大了数据关系的范围,使数据信息这种财富 可以发挥更大的作用。 3.数据独立性 数据独立性即是数据库中数据独立于应用程序而不依赖于应用程序,也就是说数据的 逻辑结构、存储结构与存取方式的改变不影响应用程序。 数据独立性一般分为物理独立性与逻辑独立性两级。 (1)物理独立性是指数据的物理结构(包括存储结构、存取方式等)的改变,如存 储设备的更换、物理存储的更换、存取方式的改变等都不影响数据库的逻辑结构,从而不 致引起应用程序的变化
(2)逻辑独立性是指数据库总体逻辑结构的改变,如修改数据模式、增加新的数据 类型、改变数据间联系等,不需要相应修改应用程序,这就是数据的逻辑独立性。遗憾的 是到目前为止数据逻辑独立性还无法作到完全的实现。 总之,数据独立性即是数据与程序间的互不依赖性。一个具有数据独立性的系统可称 为以数据为中心的系统或称为面向数据的系统。 4.数据统一管理与控制 数据库系统不仅为数据提供高度集成环境,同时还为数据提供统一管理的手段,这主 要表现为: (1)为数据查询及增、删、改提供统一的服务。 (2)数据的完整性检查:对数据库中数据的正确性作检查以保证数据的正确。 (3)数据的安全性保护:对数据库访问者作检查以防止非法访问。 (4)并发控制:对多个应用并发访问所产生的相互干扰作控制以保证其正确性。 (5)数据库故障恢复:使遭受破坏的数据具有恢复能力,使数据库具有抗破坏性。 1.4数据库内部结构体系 数据库在构作时其内部具有三级模式及二级映射,它们分别是概念模式、内模式与外 模式,其映射则分别是从概念到内模式的映射以及外模式到概念模式的映射,这种三级模 式与二级映射构成了数据库内部的抽象结构体系,如图1.6所示。 1.4.1数据库三级模式 数据模式是数据库中数据结构的具体表示与描述,它具有不同的层次与结构方式。数 据库三级模式结构最早是在1971年由DBTG给出,1975年列入美国ANS/X3/SPARC标 准,它是一种数据库内部抽象结构体系并具有对构作系统的理论指导价值,这三级模式结 构如下。 l.概念模式(conceptual schema) 概念模式是数据库中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图, 此种描述是一种抽象的描述,它不涉及具体的硬件环境与平台,也与具体的软件环境无关。 概念模式主要描述数据的概念记录类型以及它们间的关系,它还包括一些数据间的语 义约束,对它的描述可用DBMS中的DDL语言定义。 2.外模式(external schema) 外模式也称子模式(subschema)或称用户模式(user's schema),它是用户的数据视 图,亦即是用户所见到的模式,它由概念模式推导而出,概念模式给出了系统全局的数据 描述而外模式则给出每个用户的局部描述。一个概念模式可以有若干个外模式,每个用户 只关心与它有关的模式,这样可以屏蔽大量无关信息且有利于数据保护,因此对用户极为 有利。在一般的DBMS中都提供有相关的外模式描述语言(外模式DDL)。 3.内模式(internal schema) 内模式又称物理模式(physical schema),它给出了数据库物理存储结构与物理存取方 法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性 主要体现在操作系统及文件级上,它还不深入到设备级上(如磁盘及磁盘操作),但近年来 10
10 (2)逻辑独立性是指数据库总体逻辑结构的改变,如修改数据模式、增加新的数据 类型、改变数据间联系等,不需要相应修改应用程序,这就是数据的逻辑独立性。遗憾的 是到目前为止数据逻辑独立性还无法作到完全的实现。 总之,数据独立性即是数据与程序间的互不依赖性。一个具有数据独立性的系统可称 为以数据为中心的系统或称为面向数据的系统。 4.数据统一管理与控制 数据库系统不仅为数据提供高度集成环境,同时还为数据提供统一管理的手段,这主 要表现为: (1)为数据查询及增、删、改提供统一的服务。 (2)数据的完整性检查:对数据库中数据的正确性作检查以保证数据的正确。 (3)数据的安全性保护:对数据库访问者作检查以防止非法访问。 (4)并发控制:对多个应用并发访问所产生的相互干扰作控制以保证其正确性。 (5)数据库故障恢复:使遭受破坏的数据具有恢复能力,使数据库具有抗破坏性。 1.4 数据库内部结构体系 数据库在构作时其内部具有三级模式及二级映射,它们分别是概念模式、内模式与外 模式,其映射则分别是从概念到内模式的映射以及外模式到概念模式的映射,这种三级模 式与二级映射构成了数据库内部的抽象结构体系,如图 1.6 所示。 1.4.1 数据库三级模式 数据模式是数据库中数据结构的具体表示与描述,它具有不同的层次与结构方式。数 据库三级模式结构最早是在 1971 年由 DBTG 给出,1975 年列入美国 ANSI/X 3/SPARC 标 准,它是一种数据库内部抽象结构体系并具有对构作系统的理论指导价值,这三级模式结 构如下。 1.概念模式(conceptual schema) 概念模式是数据库中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图, 此种描述是一种抽象的描述,它不涉及具体的硬件环境与平台,也与具体的软件环境无关。 概念模式主要描述数据的概念记录类型以及它们间的关系,它还包括一些数据间的语 义约束,对它的描述可用 DBMS 中的 DDL 语言定义。 2.外模式(external schema) 外模式也称子模式(subschema)或称用户模式(user’s schema),它是用户的数据视 图,亦即是用户所见到的模式,它由概念模式推导而出,概念模式给出了系统全局的数据 描述而外模式则给出每个用户的局部描述。一个概念模式可以有若干个外模式,每个用户 只关心与它有关的模式,这样可以屏蔽大量无关信息且有利于数据保护,因此对用户极为 有利。在一般的 DBMS 中都提供有相关的外模式描述语言(外模式 DDL)。 3.内模式(internal schema) 内模式又称物理模式(physical schema),它给出了数据库物理存储结构与物理存取方 法,如数据存储的文件结构、索引、集簇及 hash 等存取方式与存取路径,内模式的物理性 主要体现在操作系统及文件级上,它还不深入到设备级上(如磁盘及磁盘操作),但近年来
有向设备级发展的趋势(如原始磁盘、磁盘分块技术等),DBMS一般提供相关的内模式 描述语言(内模式DDL)。 数据模式给出了数据库的数据框架结构,而数据库中的数据才是真正的实体,但这些 数据必须按框架描述的结构组织,以概念模式为框架组成的数据库叫概念数据库 (conceptual database),以外模式为框架所组成的数据库叫用户数据库(user's database), 以内模式为框架组成的数据库叫物理数据库(physical database),这三种数据库中只有物 理数据库是真实存在于计算机外存中,其他两种数据库并不真正存在于计算机中,而是通 过两种映射由物理数据库映射而成。 模式的三个级别层次反映了模式的三个不同环境以及它们的不同要求,其中内模式处 于最低层,它反映了数据在计算机物理结构中的实际存储形式:概念模式处于中层,它反 映了设计者的数据全局逻辑要求:而外模式处于最外层,它反映了用户对数据的要求。 1.4.2数据库两级映射 数据库三级模式是对数据的三个级别抽象,它把数据的具体物理实现留给物理模式, 使用户与全局设计者能不必关心数据库的具体实现与物理背景,同时,它通过两级映射建 立三级模式间的联系与转换,使得概念模式与外模式虽然并不物理存在,但是也能通过映 射而获得其存在的实体,同时两级映射也保证了数据库系统中数据的独立性,亦即数据的 物理组织改变与逻辑概念级改变,并不影响用户外模式的改变,它只要调整映射方式而不 必改变用户模式。 1.从概念模式到内模式的映射 该映射给出了概念模式中数据的全局逻辑结构到数据的物理存储结构间的对应关系, 此种映射一般由DBMS实现。 2.从外模式到概念模式的映射 概念模式是一个全局模式,而外模式则是用户的局部模式,一个概念模式中可以定义 多个外模式,而每个外模式是概念模式的一个基本视图。外模式到概念模式的映射给出了 外模式与概念模式的对应关系,这种映射一般由DBMS实现。 11
11 有向设备级发展的趋势(如原始磁盘、磁盘分块技术等),DBMS 一般提供相关的内模式 描述语言(内模式 DDL)。 数据模式给出了数据库的数据框架结构,而数据库中的数据才是真正的实体,但这些 数据必须按框架描述的结构组织,以概念模式为框架组成的数据库叫概念数据库 (conceptual database),以外模式为框架所组成的数据库叫用户数据库(user’s database), 以内模式为框架组成的数据库叫物理数据库(physical database),这三种数据库中只有物 理数据库是真实存在于计算机外存中,其他两种数据库并不真正存在于计算机中,而是通 过两种映射由物理数据库映射而成。 模式的三个级别层次反映了模式的三个不同环境以及它们的不同要求,其中内模式处 于最低层,它反映了数据在计算机物理结构中的实际存储形式;概念模式处于中层,它反 映了设计者的数据全局逻辑要求;而外模式处于最外层,它反映了用户对数据的要求。 1.4.2 数据库两级映射 数据库三级模式是对数据的三个级别抽象,它把数据的具体物理实现留给物理模式, 使用户与全局设计者能不必关心数据库的具体实现与物理背景,同时,它通过两级映射建 立三级模式间的联系与转换,使得概念模式与外模式虽然并不物理存在,但是也能通过映 射而获得其存在的实体,同时两级映射也保证了数据库系统中数据的独立性,亦即数据的 物理组织改变与逻辑概念级改变,并不影响用户外模式的改变,它只要调整映射方式而不 必改变用户模式。 1.从概念模式到内模式的映射 该映射给出了概念模式中数据的全局逻辑结构到数据的物理存储结构间的对应关系, 此种映射一般由 DBMS 实现。 2.从外模式到概念模式的映射 概念模式是一个全局模式,而外模式则是用户的局部模式,一个概念模式中可以定义 多个外模式,而每个外模式是概念模式的一个基本视图。外模式到概念模式的映射给出了 外模式与概念模式的对应关系,这种映射一般由 DBMS 实现
应用 应用 应用 外模式 外模式 外模式 (用户数据库) (用户数据库) (用户数据库) 外模式概念模式映射 概念模式 (概念数据库) 概念模式内模式映射 内模式 (物理数据库) 图1.6三级模式两种映射关系图 习题一 11试解释下列术语: (1)数据库:(2)数据库管理系统:(3)数据库系统:(4)数据库应用系统 1.2试述数据库系统及数据库应用系统的组成内容及其差别。 1.3试述数据库系统中数据的特性。 14什么叫数据库管理员?他的主要工作是什么? 15试述数据库系统发展的几个阶段,以及当前发展的方向。 1.6试述数据库系统的特点。 1.7试述数据库的三级模式与二级映射。 12
12 图 1.6 三级模式两种映射关系图 习题一 1.1 试解释下列术语: (1)数据库;(2)数据库管理系统;(3)数据库系统;(4)数据库应用系统 1.2 试述数据库系统及数据库应用系统的组成内容及其差别。 1.3 试述数据库系统中数据的特性。 1.4 什么叫数据库管理员?他的主要工作是什么? 1.5 试述数据库系统发展的几个阶段,以及当前发展的方向。 1.6 试述数据库系统的特点。 1.7 试述数据库的三级模式与二级映射。 应 用 应 用 应 用 外模式 (用户数据库) 外模式 (用户数据库) 外模式 (用户数据库) 外模式-概念模式映射 概念模式 (概念数据库) 概念模式-内模式映射 内模式 (物理数据库)