高级数据库系统及其应用

高级数据库系统及其应用"

作者:谢兴生
ISBN:9787302210757
定价:¥38
字数:千字
页数:
出版时间:2010.01.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

数据库技术是现代信息系统开发与应用中一项极为重要的基础技术。本书全面介绍数据库的基本原理、技术体系、实现方法和发展动态。全书包括4个部分共14章。第1部分介绍数据库系统基础,涵盖数据库技术的基本原理、体系结构和应用方面的主题; 第2部分介绍数据库系统实现,涵盖关系数据库在系统实现方面的相关主题知识; 第3部分介绍对象数据及Web数据库方面的相关主题知识; 第4部分涉及数据库的一些高级主题,介绍数据仓库、数据挖掘和演绎数据库方面的相关主题知识。

本书概念清晰、知识体系完整,内容组织合理实用,并且适度地介绍了数据库技术的发展趋势和最新动态。

本书可作为高等院校计算机及信息技术相关专业研究生和高年级本科生的教材,同时也可作为数据库研究和开发人员的参考书。

前言

数据库技术主要研究如何存储、使用和管理数据,是计算机科学技术中发展最快,也是应用为最广泛的技术之一。在信息技术高速发展的今天,数据库技术可以说已经渗透到信息技术的各个领域,成为现代计算机信息系统和应用系统开发的一项核心技术。

作为计算机专业及信息类相关专业的核心课程,国内外已出版了大量数据库方面的教科书。此外,还有为数更多的、与数据库技术相关的各种技术丛书。各类技术丛书由于偏重于某方面主题,或偏重于特定的数据库系统,一般不适合作为教科书。目前已有的数据库方面教科书,大致可分为三类: 一是“导论、入门或基础”类,这类书适合本科入门教育; 二是较为深入的数据库实现技术介绍,这类教材以国外一些知名大学教科书的中译本占主导,主要面向高年级本科生或研究生的提高教育。三是面向某些数据库专门技术的专深内容介绍,适合数据库研究方向的高级研究人员或高级开发人员使用。

本书作者从事高校研究生数据库课程教学多年。由于没有找到满意的国内教材,之前也是选用国外某知名大学教科书的中译本作为教材。可能由于译者需要尽可能忠实于原著,不便加入译者个人见解或修正等原因,学生总是抱怨书本内容太艰涩,阅读或理解起来太费劲。教师也觉得内容有些散,知识体系的主线脉络不够清晰,内容的深入与实用的结合也显得不足,从而使内容显得抽象、难懂。另外,由于研究生已修课程差别很大,有些学生以前可能完全没有接触过数据库方面知识,如何兼顾这类学生也给教师选择教材和教学带来了额外的困难。

本书作者正是出于以上因素和考虑,在综合参考多本国内外数据库课程教科书和一些数据库技术丛书的基础上,结合近些年一些较新的研究成果,编写了这本面向高等院校研究生或高年级本科生教学使用的、难度适中的教材。本书也适合希望深度、系统化理解和使用数据库系统的高级技术研发人员。

本书的使用前提

本书假设读者具备以下基本知识: 

 具备一定的数据结构和计算机操作系统方面基础知识; 

 具备一定的计算机高级语言及其应用知识。

高级数据库系统及其应用

本书的内容与结构编排

第1部分数据库系统基础,共包括3章。

第1章“数据库系统导论”。本章中“数据模型”和“数据库体系结构”部分,是本书的主线和知识体系框架,是所有读者都要精读的部分。“数据库系统的发展与演化综述”部分以体系结构的完善和演化为主线,介绍了数据库系统二十多年来的演化过程,以及较新的发展情况和发展趋势。这部分内容综合程度较高,难度较大,读者可先跳过或先粗略过一遍,等全书其他部分内容基本学完后再回头细读。

第2章“关系模型和关系数据库”。是数据库系统应用的最基础部分,介绍关系模型的基本概念、关系模型语言和关系数据库应用等基本知识。这部分介绍以概念为主,辅以适度的具体应用小实例来说明。之前未接触过数据库的读者,应细读本章。已有一定数据库基础的读者,可跳过本章,但仍建议浏览一遍,梳理一下关系数据库的基本概念和知识体系。

第3章“数据库设计”。这部分是数据库应用的高层次环节,是数据库应用系统设计必备知识。有别于其他教科书,本书对这部分知识采用了一种更自然的特殊编排: DB设计综述→结合应用实例片段的循序渐进介绍各种概念模型→汇合实例片段产生一个较完整的实例概念模式→映射DB概念模式到DB逻辑模式→用数据规范理论求精DB逻辑模式和反馈改进概念模式设计。整章基本只用一个实例贯穿,注重实用、强调关键,比如,在规范理论介绍方面,不介绍很少用到且难懂的5NF,突出介绍3NF和BCNF。

第2、第3章一般都不作为教学重点,以学生自学阅读为主。

第2部分关系数据库系统实现,共包括6章。

本部分以一定的深度和广度,覆盖当前主流数据库系统→关系数据库系统(RDBMS)→在实现方面的相关主题,它们是本书的主体部分,也是课程教学的重点部分。其中,第4章 “数据存储与组织”、第5章 “数据库索引技术”介绍存储管理方面主题; 第6章 “关系操作符赋值”、第7章 “查询处理与优化”介绍查询处理方面的主题; 第8章 “事务并发控制”、第9章 “数据库恢复技术”介绍事务管理方面的主题。

第3部分对象数据库和Web数据库,共包括2章。

与关系模型只支持固定的一些基本数据类型相比,对象模型具有更强的表达能力,可以直接表达任意复杂对象,支持任意复杂数据类型处理。对象数据库标准ODMG是对象数据库系统健壮发展的基石; 遵循ODMG 3.0标准的对象关系数据库系统,已逐渐成为近几年以及今后DBMS发展的重要方向。我们将在第10章 “对象数据库系统”中较详细介绍ODMG 3.0标准,并讨论 “纯面向对象数据库系统”和“对象关系数据库系统”应用和实现的相关主题。

Internet的广泛应用给DB系统发展带来了重要影响,数据库与Web结合是当代电子商务/动态网站技术的基石。目前,几乎所有DBMS开发商都在他们的产品中增加了更适合在Internet上部署的特性。我们将在第11章 “Web数据库”,介绍与Web应用相关的一些基本概念,讨论从Web存取DB的典型体系结构; 还将介绍与XML、互联网文本搜索处理方面的知识。

第10、第11章偏重于提供简明且翔实丰富的相关主题知识,知识信息量大且相对完整,适合学生自学阅读,建议不作为教学重点。

第4部分其他高级主题部分,共包括3章。

数据库的其他高级主题很多、范围也非常广泛,限于篇幅,我们只选择那些已在主流商业DBMS产品中实现的一些实用性主题,或数据库系统当前发展的热点主题。

随着数据库应用的深入和数据资料积累增多,对大量数据进行分析和探索,以支持管理决策这类应用,已迅速发展为拥有巨大市场的IT产业。当前几乎所有主流RDBMS生产商,都已在其产品中增加了支持数据分析的功能特性,或增加了专门的分析处理工具。第12章“数据仓库与决策支持系统”介绍OLAP和数据仓库方面的相关主题。第13章“数据挖掘”部分讨论从大数据集中探索发现有趣、意外趋势或数据模式的数据挖掘相关主题,这类数据分析探索通常难以只用一个或几个查询来捕获。

关系模型不能表达递归语义,这使得DBMS在处理包含递归语义的复杂数据结构,如描述复杂设备装置结构时,会面临极大的困难。第14章 “演绎数据库”简要介绍可支持递归查询处理的一些理论基础,集中讨论隐含在递归查询中的基本思想,并概要性简述SQL99中支持这些思想的新特性。在此基础上,再讨论可有效处理递归查询的一些重要实现和优化技术。

第12~14章目标是为读者提供拓展性的阅读素材,一般不作为课程正式教学内容。

本书的特色

 注重核心概念讲解和知识体系的完整性、一致性。本书的主要内容,基本上可通过“数据模型”、“DBMS体系结构及其发展演化”这两条主线贯穿起来,知识体系、主线脉络清晰。

 提供了关于当前主流商业DBMS实现的一定深度覆盖,弱化各种替代选项的广泛覆盖。例如,本书详细讨论了关系数据模型、B+树、SYSTEM R风格的查询优化、基于封锁的并发控制、两阶段提交协议、ARIES恢复算法,以及ODMG对象模型和ORDBMS。省略或只简要提及一些相关的、不太重要或已过时的技术主题,如层次或网状模型、B+树变体、语义查询优化、视图序列化、阴影页恢复算法和三阶段提交协议等。

 虽然本书主体内容篇幅集中在RDBMS的设计、调优和实现方面,然而,其中的许多主题并不局限于RDBMS,如缓冲区管理等。有些方法或思想稍加延伸扩展,就可应用到对象数据库系统实现,或一些其他高级特性的实现中。

 注意内容的深入与实用的紧密结合。通过2.1节“关系数据模型”、第3章“数据库设计”和第11章“Web数据库”,读者可获得数据库常规应用的较深入知识。透过第10章的“对象数据库”和第12~14章的其他高级主题部分,读者能找到数据库高级应用方面的主题知识。

 对于以学生阅读为主的非教学部分,一方面,以概念讲解配合实例说明为主,如第2、3章、第10、第11章; 另一方面,力求以较小的篇幅,提供简明且翔实的主题知识。比如,第10章,仅用不到20页篇幅几乎覆盖了ODMG 3.0手册近200页内容; 第11章用十几页篇幅覆盖了网络数据库开发应用的基本知识。

 注重反映数据库的最新技术; 注重用全新的观点和视角认识新旧问题,分析问题的本质,并给读者留下一定的思考空间,如1.4节的“数据库系统的发展与演化”介绍。

致谢

我很乐意在此感谢对本书编写过程中有过直接或间接参与的所有人。

首先我要感谢我的一些同事和好友,感谢他们为本书提出的许多修改意见和为校对花费的心血。其次,还要特别感谢清华大学出版社为本书出版提供了很多方面的帮助。另外,我还要特别感谢我的妻子在本书编写的整个漫长过程中,为我提供的强有力后援支持。

本书的很多主题内容选择和编排,受益于过去几年我教过的学生提出的意见。还特别要感谢中国科技大学08010班的研究生们,他们作为本书手稿的最早读者,指出了很多疏漏和错误。 

作者

2009年5月于合肥

目录

第1部分数据库系统基础

第1章数据库系统导论

1.1数据模型

1.1.1数据模型定义与分类

1.1.2一些典型数据模型特点综述

1.2数据库方法特点与应用简史

1.3数据库系统体系结构

1.3.1DB数据的三层抽象模型

1.3.2一种典型的DBMS实现体系结构

1.3.3五层DBMS体系结构模型

1.4数据库系统的发展与演化

1.4.1五层模型体系结构的发展综述

1.4.2层次模型与事务特性

1.4.3体系结构变体

1.4.4可靠性与可适应性

1.4.5结论与展望

习题1

第2章关系模型与关系数据库

2.1关系数据模型

2.1.1关系模型基础

2.1.2关系模型的约束及其表达

2.1.3关系数据库

2.2关系操作与关系查询语言

2.2.1关系代数

2.2.2关系演算

2.3SQL语言

2.3.1用DDL定义数据库

2.3.2用DML操纵数据库

2.3.3视图

2.4应用关系数据库

2.4.1DB存储过程与SQL/PSM

2.4.2在通用编程语言中嵌入SQL命令 

2.4.3基于API接口访问数据库: ODBC和JDBC

习题2

高

级数据库系统及其应用

第3章数据库设计

3.1ER数据模型

3.1.1实体类型、实体集、属性和键

3.1.2关系、关系类型和关系集

3.1.3ER模型的其他特性

3.2EER数据模型

3.2.1EER模型核心概念的形式定义

3.2.2子类、超类与类层次结构

3.2.3特化与泛化

3.2.4利用union子类建模

3.2.5值集属性与复合结构属性的建模表示

3.2.6EER与UML类图比较

3.2.7EER作为知识表示模型

3.2.8为大型企业/组织进行DB概念设计

3.3逻辑数据库设计: 映射ER/EER模式到关系模式

3.3.1映射常规实体集到关系表

3.3.2映射关系集到关系表

3.3.3映射弱实体集

3.3.4映射带有聚集关系的ER图

3.3.5映射EER扩展结构

3.3.6ER模型至关系模型映射小结

3.4关系模式求精与规范化

3.4.1模式求精问题

3.4.2函数依赖

3.4.3基本规范范式

3.4.4无损分解与依赖保持分解

3.4.5分解与规范化关系模式

3.4.6多值依赖与第四范式

习题3

第2部分关系数据库系统实现

第4章数据存储与组织管理

4.1物理存储介质

4.1.1存储介质的层次

4.1.2磁盘的物理特性

4.1.3磁盘故障及其处理策略

4.1.4磁盘块存取的优化

4.2磁盘空间管理

4.2.1磁盘空间管理器

4.2.2利用OS管理磁盘空间

4.2.3跟踪自由块

4.3文件的页组织

4.3.1堆文件

4.3.2排序文件

4.3.3索引文件

4.4页表示格式

4.4.1定长记录

4.4.2变长记录

4.5记录表示格式

4.5.1定长记录的字段表示

4.5.2变长记录的字段表示

4.5.3跨页记录管理技术

4.5.4巨型字段/对象管理技术

4.5.5指针字段管理技术——指针混写

4.6DB元信息及其存储管理

4.7缓冲区管理

4.7.1DB缓冲池与缓冲区管理器

4.7.2缓冲区置换策略

4.7.3DBMS与OS的缓冲区管理对比

习题4

第5章数据库索引技术

5.1几种文件组织方式的特性对比分析

5.1.1文件的记录组织方式

5.1.2各种文件组织方式的特性分析

5.2索引技术基础

5.2.1索引技术综述

5.2.2顺序索引及其特性

5.2.3创建索引语句

5.3B+树索引

5.3.1B+树概述

5.3.2B+树操作

5.3.3B+树的效率与实用化

5.4散列索引

5.4.1静态散列存储表

5.4.2可扩展的动态散列

5.4.3线性散列

5.5位图索引

5.5.1位图索引的结构

5.5.2位图索引的应用

5.5.3压缩位图

5.5.4压缩位图的游程解码操作 

5.5.5位图索引的维护

5.6多维空间索引

5.6.1多维空间索引技术综述

5.6.2网格文件

5.6.3R树

5.6.4kd树与四叉树

习题5

第6章关系操作符赋值

6.1外部排序

6.1.1一种简单的两路归并排序

6.1.2多路归并排序

6.1.3两阶段多路归并排序

6.1.4最小化外部排序时间

6.2关系操作符赋值实现基础

6.2.1关系操作符赋值实现的三个基本操作

6.2.2存取路径

6.2.3代价计算模型

6.2.4关系操作符赋值的实现算法分类

6.2.5迭代器技术

6.2.6主存散列表技术

6.2.7本章查询用例说明

6.3RDBMS系统的信息  

6.3.1存储在DB系统中的信息

6.3.2DB系统组织结构

6.4选择操作符赋值

6.4.1简单扫描方法

6.4.2利用排序特性进行选择赋值

6.4.3利用索引进行选择赋值

6.4.4一般的选择条件处理

6.5投影与消除重复操作赋值

6.5.1基于排序实现消除重复投影

6.5.2基于散列实现消除重复投影

6.5.3排序与散列算法比较

6.5.4利用索引来执行消除重复投影

6.6连接操作赋值

6.6.1嵌套循环连接

6.6.2基于索引的嵌套循环连接

6.6.3排序归并连接

6.6.4散列连接

6.6.5一般连接条件处理

6.7集合操作的赋值实现

6.7.1集合操作一趟实现算法

6.7.2包运算的一趟实现算法

6.7.3实现集合并与集合差的两趟算法

6.8聚合操作符的赋值实现

6.9各类代数操作符赋值实现小结

6.9.1缓冲区的影响

6.9.2各类代数操作符赋值实现小结

习题6

第7章查询处理与优化

7.1查询处理简介

7.1.1查询预编译简介

7.1.2从语法树生成初步的逻辑查询计划

7.1.3将查询基本块转化为关系代数表达式

7.2查询优化综述

7.2.1查询赋值计划

7.2.2流水线赋值

7.2.3操作符的迭代器接口与存取方法

7.2.4IBM System R优化器

7.3关系代数等价规则

7.3.1选择

7.3.2投影

7.3.3叉积与连接

7.3.4选择、投影和连接

7.3.5其他等价规则

7.4基于等价和启发式规则的查询优化

7.4.1下推选择与下推投影

7.4.2利用索引改进计划

7.5作为中间结果的操作符输出大小估计

7.5.1选择输出的大小估计

7.5.2连接大小的估计

7.5.3消除重复操作的大小估计

7.5.4其他操作符的结果大小估计

7.6基于代价的枚举与优化

7.6.1枚举候选计划

7.6.2单关系查询优化

7.6.3多关系查询优化

7.7处理嵌入子查询

7.8Oracle优化器简介

7.8.1基于规则的优化器

7.8.2Oracle基于代价的优化器

7.8.3如何设定Oracle优化器的工作模式

7.9查询处理小结

习题7

第8章事务并发控制

8.1事务并发执行管理概述

8.1.1事务的概念与基本特性

8.1.2调度的基本概念

8.1.3事务的并发执行

8.1.4优先图

8.1.5视可串行化

8.2基于封锁的并发控制

8.2.1严格两阶段封锁协议

8.2.2一般两阶段封锁协议

8.2.3封锁管理

8.3死锁及其处理

8.3.1预防死锁

8.3.2死锁检测

8.3.3基于封锁的并发控制性能

8.4扩展封锁处理技术

8.4.1动态数据库与幻象问题

8.4.2B+树的并发控制

8.4.3多粒度封锁

8.5基于优化的并发控制

8.5.1基于有效确认的并发控制

8.5.2基于时间戳的并发控制

8.5.3三种并发机制比较

8.6SQL92的事务支持*

8.6.1事务的基本特征

8.6.2事务与约束

习题8

第9章数据库恢复技术

9.1DB恢复问题及其处理概述

9.1.1故障类型

9.1.2故障恢复策略

9.1.3数据存取的有关概念

9.1.4事务写操作相关问题

9.2数据库日志

9.2.1日志技术概述

9.2.2基于WAL规则的日志

9.2.3检查点技术

9.3ARIES日志管理技术

9.3.1ARIES简介

9.3.2ARIES的检查点记录

9.4基于ARIES日志的系统崩溃恢复

9.4.1分析阶段

9.4.2Redo阶段

9.4.3Undo阶段

9.4.4重启时再次崩溃处理

9.4.5其他相关算法以及ARIES的并发控制特性

9.5转储备份与恢复

9.5.1静态转储与动态转储

9.5.2利用检查点的备份恢复

9.6再论脏读与回滚管理*

9.6.1读未提交数据的事务

9.6.2回滚管理

习题9

第3部分对象数据库和Web数据库

第10章对象数据库

10.1关系数据库的局限性

10.2面向对象数据模型

10.2.1对象模型概述

10.2.2对象

10.2.3直接量

10.2.4对象类型

10.2.5继承

10.2.6数据库操作

10.2.7封锁和并发控制

10.2.8事务模型

10.3对象定义语言

10.4对象查询语言

10.4.1OQL综述

10.4.2OQL语言简介

10.5C++语言绑定与OODBMS实现

10.5.1OODBMS概述

10.5.2C++语言绑定综述

10.5.3C++ ODL

10.5.4C++ OML

10.5.5C++ OQL

10.6对象关系数据库系统

10.6.1嵌套关系表

10.6.2复杂数据类型

10.6.3继承

10.6.4引用类型

10.6.5复杂类型查询

10.6.6函数、过程和方法

10.6.7ADT及其封装

10.6.8新型关系数据库

10.6.9实现ORDBMSS面临的一些新挑战

10.7OODBMSS与ORDBMSS对比

习题10

第11章Web数据库

11.1Web技术

11.1.1HTML

11.1.2HTTP协议

11.2数据库与Web

11.2.1基于Web的数据库应用体系结构

11.2.2服务API与应用服务器

11.2.3服务器侧处理技术

11.3XML技术

11.3.1XML文档

11.3.2XML约束

11.3.3XML数据模型

11.3.4XML查询语言

11.4基于关键字的文本搜索

11.4.1倒排文件

11.4.2签名索引文件

11.5基于分级排序的网页搜索

习题11

第4部分其他高级主题部分

第12章数据仓库与决策支持系统

12.1数据仓库技术概述

12.1.1决策支持查询的新特征

12.1.2支持决策支持查询的系统类型

12.1.3数据仓库

12.2OLAP

12.2.1多维数据模型

12.2.2OLAP查询

12.2.3与SQL操作比较

12.2.4统计数据库

12.2.5OLAP设计

12.3OLAP的实现技术

12.3.1位图索引

12.3.2连接索引

12.3.3文件组织

12.3.4其他OLAP实现问题

12.4视图与决策支持系统

12.4.1视图、OLAP和DW

12.4.2改写基于视图的查询

12.4.3视图物化

12.4.4视图物化相关问题

12.5快速返回部分查询结果

12.5.1TOP N查询

12.5.2在线汇总

习题12

第13章数据挖掘

13.1数据挖掘综述

13.2数据关联模式

13.2.1频繁项集

13.2.2冰川查询

13.2.3挖掘关联规则

13.3决策树

13.3.1决策树与分类规则

13.3.2构造决策树算法

13.4聚类

13.4.1几种典型的聚类方法

13.4.2BIRCH聚类算法

13.5基于序列的相似搜索

13.5.1数据序列及其相似度定义

13.5.2一种发现相似序列的算法

习题13

第14章演绎数据库

14.1递归查询

14.2演绎数据库理论基础

14.2.1最小模型语义

14.2.2安全Datalog程序

14.2.3不动点操作

14.2.4最小模型与不动点模型关系

14.3含否定的递归查询

14.3.1范围限制与否定

14.3.2分层概念

14.3.3聚合操作

14.4有效赋值递归查询

14.4.1没有重复推导的不动点赋值

14.4.2魔集算法

习题14

参考文献

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个