对象——关系数据库管理系统原理与实现

对象——关系数据库管理系统原理与实现"

作者:李战怀等
ISBN:9787302127819
定价:¥35
字数:千字
页数:
出版时间:2006.06.01
开本:
版次:1-1
装帧:
出版社:清华大学出版社
简介

    本书以完全从底层研究开发的对象关系数据库管理系统Angel为背景,在深入分析国内外相关研究成果的基础上,针对对象关系这种目前应用最为广泛、最为重要的数据库管理系统,论述了对象关系数据库系统的原理与实现技术。作为国内第一本全面、系统而深入地论述对象关系数据库管理系统设计思想与实现技术的专著,本书在基类扩充、对复杂对象的支持、继承语义及动态模式修改、引用语义、主动性规则、安全机制等方面实现了面向对象技术与关系技术的有机融合,其内容涵盖了对象关系系统的数据模型、查询代数及查询语言等各个方面。

    本书立论严谨,内容新颖,结构合理,语言流畅,可以作为计算机系研究生的数据库专业课教材,也可供有关数据库软件人员或高校教师参考。

前言

数据库技术在商业领域的巨大成功刺激了其他领域对数据库技术需求的迅速增长。这些新的领域为数据库应用开辟了新的天地,而应用中提出的新的数据管理的需求也直接推动了数据库技术的研究与发展。20世纪80年代,面向对象数据库系统(object oriented database system,OODBS)的研究与发展就是一个极好的例证。

20多年来,国内外学术界、工业界努力探索数据库技术与对象技术的结合,沿着三条路线展开了面向对象(OO)数据模型和面向对象数据库系统的研究: 

一条是以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持OO模型; 

一条是建立新的面向对象数据库系统支持OO数据模型; 

一条是以关系数据库和SQL为基础,把面向对象技术融入数据库系统的对象关系数据库系统(object relational database system,ORDBS)。

回顾上述3个方向所做的研究及开发工作,可以看到各自的发展是不平衡的。其中ORDBS方向的成果最为卓著。它在传统关系数据库的基础上吸收了面向对象主要思想,同时又保持了关系数据库的优点,成功开发了诸如Postgres、Illustra等原型系统。近年来,各大RDBMS厂商也已推出了其产品的对象关系版本,从而满足了许多新的数据库应用需求。

同样,面向对象数据库研究领域吸引了我国许多数据库工作者,取得了大量的研究成果,开发了多个面向对象数据库管理实验系统。本书介绍的就是其中之一。

从1991年起,西北工业大学数据库课题组开始了面向对象数据库技术的研究。该课题组以本书作者李战怀教授和他的导师徐秋元教授为核心,他们从探索新一代DBMS研制技术以及研制具有自主版权的数据库产品出发,在八五国防预研项目、国家自然科学基金、863、航空基金、陕西省自然科学基金等项目的支持下开发了客户机服务器结构的对象关系数据库系统Angel。他们从系统底层做起,历时8年,投入大量精力和人力研发了AngelⅠ、AngelⅡ。该系统技术先进,功能丰富,在国防科工委与航空工业部主持的技术鉴定会上得到专家们的高度评价,并且于1996年获得国防科技进步二等奖。

本书就是对Angel系统以及以此为背景所进行的研究成果(包括3篇博士论文)的系统介绍。这对于学习大型数据库系统软件的设计和开发有很好的参考价值,特别是对学习ORDBS的基本概念、实现技术、关键技术中难点要点以及实际应用的解决方案是极其有帮助的。

从本书所介绍的研究和开发工作充分说明,研制具有我国自主版权的数据库系统一直是我国数据库界长期的执着的追求。我相信这种追求一定会带来丰硕的成果。

中国人民大学数据与知识工程研究所

王珊

我们西北工业大学数据库研究组从20世纪80年代初期开始,在徐秋元教授和李战怀教授的领导下一直从事工程数据库系统的研究,20世纪80年代中期以后,国际数据库界以新型应用领域(CAD、VLSI设计、CASE等)的需求为背景,广泛开展了新一代数据库管理系统的研究,由于这些研究的背景与我们一直关注的应用背景有很大的相似之处,因而引起了我们巨大的关注,经过反复讨论,我们决定自行研发一个数据库管理系统。

采用何种数据模型是我们首先需要解决的问题,当时国际数据库界主流的研究方向是面向对象系统和基于PRLOG的知识库管理系统,但也有一些观点认为要通过对关系模型增加面向对象特征来增加数据模型建模能力,如加州大学伯克利分校的M. Stonebrake教授就是这一观点的代表者。通过对各种模型,如面向对象模型、基于逻辑的模型、嵌套关系模型、复杂对象模型、Postgres的数据模型等广泛的研究,我们提出了一种具有面向对象特征的非第一范式的模型,对这一模型的介绍以“一种适用于工程数据管理的数据模型”名称发表于第十一届全国数据库会议论文集中,基于此模型实现的数据库管理系统我们称之为Angel。

Angel的实现分两个阶段。1991—1995年是第一阶段,在这个阶段我们完全从底层做起,在Sun工作站上实现了一个基于客户机服务器结构的对象关系数据库管理系统,我们称之为AngelⅠ。1995年年底在国防科工委与原航空工业部主持下开了鉴定会,主要结论是: 国内领先,有关研究与国际同步。1996年获得国防科技进步二等奖。1996—1998年是第二阶段,这一阶段主要的工作是提高系统的健壮性并开发客户端开发工具,在此期间,我们完全重新设计了整个系统的体系结构,实现中更多地采用了面向对象的实现方法,在存储管理、查询执行和优化方面做了大量工作,实际上重新实现了整个系统。同时在客户端,我们为Angel开发了ODBC DRIVER,嵌入C的预编译器,以及导航式图形化查询界面。这一阶段开发的系统我们称之为AngelⅡ。整个Angel系统的实现总计花费了四十多人年的工作。

Angel系统的研究与实现,得到国防预研、国家自然科学基金、国家863网络与数据库专题、航空基金、陕西省自然科学基金等多方支持,在此向有关单位致以深深的谢意。

本书以李战怀、李红燕、邓江的博士论文为基础,加上这些年来我们围绕Angel系统发表的论文和技术报告编著而成。虽然主要内容是现成的,但要整理成一本书还是需要花费很大的精力。李红燕副教授从2002年开始整理有关资料,更系统地对以前的工作进行了总结,到2003年年底,经过1年多时间的努力,终于完成了这本书。作者要特别感谢蒋泽军教授等对Angel系统实现作出贡献的所有项目组成员,但由于人员众多,恕不一一列名致谢。

由于众所周知的原因,出版一本专著性质的书是非常不容易的,作者特别感谢清华大学出版社对本书出版给予的支持,感谢编辑们的辛勤劳动,没有他们的帮助,本书的出版是不可能的。

出版本书的目的是为了把我们在研究对象关系数据库管理系统方面的心得体会介绍给大家,希望起到抛砖引玉的作用。由于作者的水平与能力所限,书中肯定存在很多不足,如蒙赐教,将不胜感激。

作者

2006年2月

目录

第1章绪论

1.1研究目的及意义

1.1.1扩展关系数据库

1.1.2面向对象数据库

1.1.3对象关系数据库

1.2对象关系技术的研究进展

1.2.1对象关系技术的萌发

1.2.2对象关系技术的现状

1.2.3对象关系技术的前景

1.3相关研究工作概述

第2章数据模型

2.1设计思想

2.1.1关于值与对象的讨论

2.1.2对象标识

2.1.3对象结构

2.1.4继承性

2.1.5封装

2.1.6方法

2.2形式描述

2.2.1型与值

2.2.2类与关系

第3章查询代数

3.1保持模式结构的操作

3.1.1并

3.1.2差

3.1.3交

3.1.4选择

3.2改变模式结构的操作

3.2.1投影

3.2.2联结

3.2.3NEST和UNNEST

3.3代数操作的嵌套使用

3.3.1扩展选择

3.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服务器端

4.2.3语言处理

4.2.4模式管理

4.2.5事务处理

4.2.6查询执行

4.2.7对象管理

4.2.8存储管理

4.3系统环境

4.3.1系统运行环境

4.3.2用户界面

第5章数据库语言

5.1主要特点

5.2ADBL的数据定义功能

5.2.1数据库的创建

5.2.2表的创建

5.2.3索引的创建

5.2.4视图的创建

5.3ADBL的模式操纵功能

5.3.1表的修改

5.3.2表的删除

5.4ADBL的查询功能

5.4.1对构造层次的查询

5.4.2对继承层次的查询

5.4.3对传递闭包的查询

5.5ADBL的数据操纵功能

5.5.1INSERT语句

5.5.2UPDATE语句

5.5.3DELETE语句

5.5.4对视图的操作

5.6ADBL的数据控制功能

5.6.1完整性保护

5.6.2安全性保护

5.6.3事务管理

5.6.4封锁机制

第6章基类扩充

6.1对builtin类型的扩充

6.1.1域

6.1.2模式类型

6.1.3抽象数据类型

6.2用户定义函数机制

6.2.1UDF在ADBL中的使用

6.2.2UDF的继承机制

6.2.3UDF的实现

6.3利用UDF实现操作符定义及操作符重载

第7章嵌入式ADBL

7.1语法结构

7.1.1可执行语句

7.1.2说明性语句

7.2预编译实现方法

7.3嵌入式ADBL的程序首部处理

7.3.1SQL变量

7.3.2SQL通信区

7.4嵌入式ADBL的程序体处理

7.4.1不含输出宿主变量的AEDBL语句

7.4.2含有输出宿主变量的AEDBL语句

7.4.3特殊AEDBL语句的处理

7.5游标机制

7.5.1游标的声明

7.5.2游标的打开

7.5.3对当前实例的取值

7.5.4游标的关闭

7.5.5带游标的ADML操作

7.5.6游标的撤销

第8章复杂对象

8.1扩展的非第一范式结构

8.2复杂对象语义

8.3对象引用

8.3.1引用作为完整性约束

8.3.2引用作为类型构造器

8.3.3两种特殊的引用方式

8.3.4引用信息的外存表示

8.4复杂对象信息组成

8.5复杂对象表示形式

8.5.1复杂对象语言形式

8.5.2复杂对象内存形式

8.5.3复杂对象外存形式

8.5.4复杂对象显示形式

8.6对象管理

8.6.1对象缓冲区管理

8.6.2对象存取

8.6.3驻留对象管理

8.7对象聚集

8.7.1传统聚集策略

8.7.2Angel聚集策略

8.8对复杂对象操作的实现

8.8.1ADML操作

8.8.2授权操作

8.8.3并发控制操作

第9章查询处理与优化

9.1查询语义

9.1.1路径语义

9.1.2对层次的讨论

9.1.3层次的确定

9.1.4层次的匹配

9.2查询处理

9.2.1总体处理方案

9.2.2嵌套查询处理

9.2.3继承层次查询处理

9.2.4传递闭包查询处理

9.3查询优化

9.3.1代数查询优化

9.3.2索引机制

9.3.3基于代价评估的优化方法

第10章模式管理与动态模式修改

10.1模式管理

10.1.1数据字典

10.1.2ANGEL瘙嚜TABLES表

10.1.3模式管理器

10.1.4模式管理的应用

10.2动态模式修改

10.2.1ORDBMS中的DSM 

10.2.2DSM在Angel系统中的实现

第11章安全机制与完整性保护

11.1安全机制

11.1.1安全性定义

11.1.2安全性检查

11.1.3安全机制的实现

11.2完整性保护

11.2.1ORDBMS主动性规则的研究

11.2.2Angel对规则系统的支持

11.2.3S ECA模型的实现

11.2.4S ECA模型中的规则行为分析

11.2.5语义完整性约束

第12章事务管理

12.1事务

12.1.1基本概念

12.1.2事务管理器

12.2常规事务管理

12.2.1封锁与并发控制

12.2.2日志与恢复

12.2.3事务管理器的实现

12.3长事务管理

12.3.1保存点机制

12.3.2具体实现

第13章开放数据库连接驱动程序的设计与实现

13.1开放数据库连接简介

13.1.1ODBC接口

13.1.2ODBC组件

13.1.3驱动程序类型

13.1.4一致级

13.2设计目标

13.2.1驱动程序结构

13.2.2Winsock简介

13.3重要数据结构

13.3.1三级句柄

13.3.2数据类型

13.3.3返回状态与出错信息

13.4Angel数据传输协议

13.4.1连接Angel服务器

13.4.2发送命令

13.4.3返回结果

13.5具体实现

13.5.1初始化连接

13.5.2终止连接

13.5.3处理SQL语句

13.5.4取回结果

13.5.5处理终止语句或事务

13.5.6信息查询与函数

13.6数据源管理

第14章复杂对象推理的逻辑语言

14.1Alogic的语法

14.1.1类型

14.1.2Alogic语言

14.2Alogic的语义

14.3讨论

附录AAngel数据语言文本

参考文献

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个