
高级数据库基础教程教材突出数据模型主线,在简述数据库发展与经典数据库技术基础上,介绍了数据库概念范畴基本发展方向:对象数据库技术;从空间和时间两个最重要的技术应用维度出发,讨论了空间数据库和时态数据库;从数据库与网络技术结合角度,介绍了XML数据库基本技术;由无线定位和GPS数据管理角度,研究了移动对象数据管理基本技术;通过介绍大数据技术讨论了其余常规数据库管理技术的联系与区别以及对数据库技术未来发展的影响与意义。
计算机处理的对象是数据,数据可以是以数字符号为基础的数值型数据和由字符、音频、视频乃至网页等组成的非数值型数据。作为一个学科,计算机科学技术主要应用于非数值型数据。在众多的非数值型数据的应用中,有一类称为数据密集型的计算机应用领域,其基本特征是涉及数据体量巨大、数据计算结果需要长久驻留计算机及数据保持大范围共享等。这是迄今为止最大的计算机应用领域,因为任何规模化的计算机信息管理系统都需要以其为底层技术支撑,这就是数据库技术。
计算机应用从技术实现角度来看,可以分为数据计算和数据管理。数据库技术属于数据管理的技术范畴。自20世纪50年代中期开始至今,数据管理经历了人工管理(基于应用程序)、文件系统管理(基于操作系统)和数据库管理(基于DBMS)三段历史进程; 而自20世纪60年代中后期开始至今,数据库自身也经历了由第一代数据库(层次和网状数据库)到第二代数据库(关系数据库)再到第三代数据库(以对象数据库为典型代表的各类新型数据库)的3个发展阶段。如果将关系数据库等看作是经典数据库,则通常可以将包括对象数据库在内及其之后出现的各类数据库通称为高级数据库或现代数据库。这些数据库或者基于数据模型的创新,或者出于应用维度的扩展,或者与计算机各类新鲜的主流技术密切结合,它们共同构成当今兴旺发达的整个数据库家族。这个数据库家族相当庞大,以致需要从各个不同角度进行审视和不同层面展开讨论才有可能理解与把握。本书主要是从数据模型及建立在其上的数据操作原理视角进行内容组织和展开叙述的。
本书共分为10章。第1章是绪论,简述数据管理的产生背景、技术路线,以及数据库技术在整个计算机科学技术领域中的地位和意义。第2章是关系数据库基础,由于高级数据库中许多概念、原理和技术都与关系数据库有着密切关联,深刻地认识和把握关系数据库技术对于其他数据库技术的学习与研究是不可或缺的。第3章和第4章讨论对象数据库技术,其中第3章的面向对象数据库是基于全新数据模型的数据库,可以看作是C++基于数据库机制的扩充; 第4章的对象关系数据库的数据模型基础仍然是关系模型,可以看作是SQL关于面向对象原理方法的扩充。第5章和第6章分别是空间数据库和时态数据库,可以看作是由于数据库应用领域扩大和应用层面深化而驱动数据库在空间和时间应用维度方面的扩展,这种扩展可能被局限于关系数据模型(如时态关系数据模型),也可能需要建立新的数据模型(如空间数据的镶嵌数据模型和矢量数据模型)。第7章是XML数据库,这是一种半结构化数据的管理技术,有别于结构化的关系数据与对象数据,通常需要建立反映出“数据与结构融合”自身特点的更为复杂的数据模型。第8章是移动对象数据库,这是为了适应由于网络技术发展和移动通信终端设备普及而带来的新的数据管理需求。第9章是大数据技术简述,从数据管理角度考虑,可以看作是一种范围更为广阔和内容更为新颖的分布式数据管理技术,其中NoSQL实际上是将常规的数据库技术推向了一个新的阶段。第10章是时态数据索引技术。各类新型数据库通常都没有成熟DBMS支持,数据存取的有效途径多是基于研究和开发相应的数据索引,因此,数据索引也就成为高级数据库技术的基本内容之一。本章应用时态数据库相关知识建立了时态数据索引框架,并将其应用到XML数据索引和移动对象数据索引,这实际上可看作是本书主要内容的一个综合应用。
本书的第1章、第3~7章和第10章主要由叶小平编写,第2章主要由李强编写,第8章主要由叶晟编写,第9章主要由陈瑛编写,同时,陈瑛参与了第5章和第10章的编写,李强参与了第9章的编写,叶晟参与了第7章的编写。全书由叶小平负责统筹。在本书编写过程中得到汤庸教授的热情鼓励和大力支持,其中不少观点的提出和材料的选择都得到了汤庸教授的启示和帮助,在此谨致以衷心感谢!同时,书中参考和借鉴了较多的数据库方面相关专著、经典教材和科研论文,书中每章之后附有其中的主要参考文献,然而难以一一列举,作者对此表示歉意。由于本书涉及的许多内容已经成为经典,不少专著和教材中对其都有专项论述,加之本书性质定位所限,因而大多没有列举原始的文献资料,这里谨对本书涉及的相关书目和文献的专家学者们表示诚挚的谢意!
此外,林衍崇和陈钊滢等研究生也参与了本书部分内容的讨论和完成。
由于高级数据库领域范畴广而深邃,相关技术日新月异,即使本书所论及部分也难免挂一漏万,失之偏颇。加上编著者学识和经验所限,疏漏与不当之处在所难免,恭待专家学者和教学同行批评指正。
2018年5月于
中山大学海滨红楼及广东东软学院Lisp园
第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发展特征与驱动要素
1.3.1数据库技术发展特征
1.3.2数据库发展驱动要素
1.4数据库技术的地位和意义
1.4.1计算机领域中的学科地位
1.4.2计算机应用领域的基础支撑
1.4.3一个学科带动一个产业
1.4.4保持强劲发展势头
本章小结
主要参考文献
第2章关系数据库基础
2.1关系数据模型
2.1.1关系数据结构
2.1.2数据操作
2.1.3完整性约束
2.1.4关系数据模式
2.2关系数据库标准语言
2.2.1SQL发展与基本功能
2.2.2关系定义
2.2.3数据查询
2.2.4数据更新
2.3关系模式设计
2.3.1函数依赖
2.3.2公理系统及有效性和完备性
2.3.3关系模式范式
2.3.4多值依赖与连接依赖
2.4关系数据库保护
2.4.1完整性保护
2.4.2安全性保护
2.5关系数据库事务处理
2.5.1并发控制
2.5.2故障恢复
本章小结
主要参考文献
第3章面向对象数据库
3.1数据管理新的需求
3.2阻抗失配与对象持久
3.2.1数据库语言与程序语言差异
3.2.2对象和对象标识持久化
3.2.3持久对象存储和查询
3.2.4面向对象数据模型
3.3对象和类的数据库释义
3.3.1ODMG标准与核心概念
3.3.2对象与文字
3.3.3类型、类和接口
3.3.4接口继承与类继承
3.4ODMG数据操作
3.4.1对象定义语言
3.4.2数据查询语言
本章小结
主要参考文献
第4章对象关系数据库
4.1数据与数据查询
4.1.1数据管理分类矩阵
4.1.2基于分类矩阵的数据管理系统
4.2对象关系数据类型
4.2.1RDB基于对象扩充
4.2.2对象关系数据类型
4.2.3继承机制
4.3对象关系数据模型
4.3.1PRDM与ORDM
4.3.2对象联系图
4.3.3对象关系数据库语言SQL3
4.4对象关系数据创建
4.4.1类型创建
4.4.2继承性创建
4.4.3关系表创建
4.5对象关系数据操作
4.5.1数据查询
4.5.2关系与对象关系转换
4.5.3对象关系数据更新
本章小结
主要参考文献
第5章空间数据库
5.1空间和空间数据
5.1.1空间与空间实体
5.1.2空间数据
5.2空间数据模型
5.2.1数据类型与数据模型
5.2.2空间对象关系
5.2.3空间对象近似
5.3空间数据库系统
5.3.1SDB技术
5.3.2SDB结构
5.4空间数据查询
5.4.1空间数据查询操作
5.4.2空间数据索引
5.5空间点索引技术
5.5.1Kdtree和KdBtree
5.5.2Gtree索引
5.6空间区域索引技术
5.6.1Rtree
5.6.2R*tree
本章小结
主要参考文献
第6章时态数据库
6.1时间与时态数据库
6.1.1时间基本概念
6.1.2时间的数据结构
6.1.3时间运算
6.1.4时间维度与时态数据库
6.2历史关系数据模型
6.2.1HRDM概述
6.2.2HRDM数据操作
6.3双时态关系数据模型
6.3.1双时态概念数据模型
6.3.2表示数据模型
6.4时间变量
6.4.1双时态关系的分析与解构
6.4.2最新状态元组中Now语义处理
6.4.3非当前版本Now语义处理
6.5双时态数据操作
6.5.1双时态数据查询
6.5.2双时态数据更新
6.6时态关系数据语言TSQL2
6.6.1双时态关系数据创建
6.6.2双时态关系数据查询
6.6.3双时态关系数据更新
本章小结
主要参考文献
第7章XML数据库
7.1XML文档
7.1.1标记与标记语言
7.1.2XML文档组成与良好XML文档
7.1.3DTD与有效XML文档
7.2XML Schema
7.2.1简单类型
7.2.2复杂类型
7.2.3元素与属性声明
7.3XML数据模型
7.3.1半结构化数据
7.3.2数据关系与数据结构
7.4XML数据查询
7.4.1遍历查询
7.4.2查询语言XPath
7.4.3查询语言XQuery
7.4.4遍历查询存在的问题
7.5XML数据索引
7.5.1基本考量与分类
7.5.2结点记录类索引
7.5.3结构摘要类索引
本章小结
主要参考文献
第8章移动对象数据库
8.1MOD概述
8.1.1移动对象数据
8.1.2数据类型和数据管理
8.2移动对象数据模型
8.2.1移动对象数据建模概述
8.2.2MOST模型
8.3移动对象数据查询
8.3.1基于时间点查询
8.3.2基于时间段查询
8.3.3最近邻查询
8.4移动对象数据索引
8.4.1当前和未来时间索引
8.4.2过去时间索引
8.5路网移动对象数据索引
8.5.1路网模型
8.5.2面向路段移动对象索引FNRtree
8.5.3MONtree
本章小结
主要参考文献
第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.2.5大数据分析
9.3MongoDB概述
9.3.1Windows下安装MongoDB
9.3.2MongoDB运行环境设置
9.3.3可视化管理软件——Robomongo
9.4大数据与物联网和云计算
9.4.1大数据与物联网
9.4.2大数据与云计算
9.4.3大数据、物联网与云计算
本章小结
主要参考文献
第10章时态数据索引技术
10.1时态数据索引概述
10.1.1基于拟序时态数据结构
10.1.2时态数据索引
10.1.3TDindex数据查询
10.1.4TDindex增量式更新
10.2时态XML数据索引
10.2.1GDFc编码
10.2.2时态XML索引TXtree
10.2.3TXtree数据查询
10.2.4TXtree数据更新
10.3移动对象数据索引
10.3.1数据模型与数据结构
10.3.2移动对象索引pmtree
10.3.3数据操作
本章小结
主要参考文献
关系数据库的整体俯瞰、大数据与常规数据管理技术
关系数据库的整体俯瞰、大数据与常规数据管理技术