书籍详情
《高级数据库基础教程》[38M]百度网盘|亲测有效|pdf下载
  • 高级数据库基础教程

  • 出版社:清华大学出版社
  • 出版时间:2018-09
  • 热度:4775
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

高级数据库基础教程教材突出数据模型主线,在简述数据库发展与经典数据库技术基础上,介绍了数据库概念范畴基本发展方向:对象数据库技术;从空间和时间两个重要的技术应用维度出发,讨论了空间数据库和时态数据库;从数据库与网络技术结合角度,介绍了XML数据库基本技术;由无线定位和GPS数据管理角度,研究了移动对象数据管理基本技术;通过介绍大数据技术讨论了其余常规数据库管理技术的联系与区别以及对数据库技术未来发展的影响与意义。

目录

目录









第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.1Kdtree和KdBtree


5.5.2Gtree索引


5.6空间区域索引技术


5.6.1Rtree


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面向路段移动对象索引FNRtree


8.5.3MONtree


本章小结


主要参考文献


第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索引TXtree


10.2.3TXtree数据查询


10.2.4TXtree数据更新


10.3移动对象数据索引


10.3.1数据模型与数据结构


10.3.2移动对象索引pmtree


10.3.3数据操作


本章小结


主要参考文献


精彩书摘

第3章

面向对象数据库



随着计算机技术发展和应用需求驱动,面向对象数据库(ObjectOriented DataBases,OODB)受到人们的广泛关注。OODB技术建立在面向对象思想方法基础之上,以将静态属性与动态操作为封装体的“对象”作为数据元素,以同型对象的集合“类”作为数据存储与操作的基本单元,更加符合人们对于客观世界的直观认识,对现实世界中复杂事物具有较强的语义描述能力,同时也具有高效开发应用系统和实现软件重用的功能,能够在传统数据库技术难以有效支持的领域获得成功应用。OODB研究始于20世纪80年代,当时主要是针对关系数据库的一些弱项,如有限的数据类型、没有基于系统的全局标识、不支持用户或系统可扩充的函数,以及运算和难以处理的复杂数据对象等。虽然人们在OODB技术的概念和原理上还未取得完全一致的理解,但大都认为对象、类、继承和封装等是OODB应该具有和支持的基本元语。进入20世纪90年代,从事研制面向对象数据库管理系统的厂商组成了ODMG集团(Object Database Management Group,ODMG)以着手制定OODB标准,并于1993年8月公布第一个ODBMS工业化标准——ODMG—1993。此后,又相继推出ODMG 1.2、ODMG 2.0(1997)和ODMG 3.0(2000)。本章将简要介绍基于ODMG 3.0的OODB技术。

3.1数据管理新的需求

自20世纪80年代以来,关系数据库(Relational DataBases,RDB)在传统商业事务处理领域获得巨大成功,随之带动了其他各领域对数据库技术应用需求的巨大增长。这些领域主要包括计算机辅助设计、计算机辅助软件工程、计算机集成制造系统、办公室自动化系统、地理信息系统、知识库系统、数据仓库与知识发现、多媒体系统和计算机网络系统等。这些新领域所需要的数据管理功能相对于传统情形具有许多新的特点。

(1) 存储和处理复杂对象。数据对象内部结构复杂,相互联系具有多种语义,难以用常规关系结构进行描述与表达。

(2) 多样数据类型。从数据逻辑描述来说,数据项取值可以是半结构或无结构数据类型; 从数据应用背景来说,有时态和版本数据类型、空间数据类型、时空数据类型及各种用户自定义数据类型等。

(3) 数据常驻内存。数据常驻内存中包括数据管理及对大量数据对象的存取和计算。

(4) 数据处理与程序语言集成。由于数据结构的复杂化和实际应用背景的不断拓展,需要将常规程序设计语言与数据库语言进行无缝整合才能完成各类数据管理任务。

(5) 支持复杂事务管理。支持长事务和嵌套事务处理。

面对新的应用需求,RDB的弱项或缺陷日益显现出来。

(1) 数据类型简单。RDB只能表达、存储和处理确定的某些简单数据类型,不易根据应用需求扩展数据类型集合。对于各种复杂类型依赖用户自行编写的应用程序进行个别构造、描述和处理,这显然与数据库管理数据初衷不相符合。

(2) 结构与行为分离。RDB主要关注数据独立性和存取效率,语义表达能力较差。数据实体结构存储在数据库当中,而数据实体行为常常需要由应用程序另外实现。这种结构与行为分离导致数据库中复杂结构数据只能通过相关应用程序进行解释执行,限制了用户对数据的有效使用。

(3) 查询实现复杂RDB。由于规范化的基本要求,通常需要将复杂对象分解为多个基本关系表进行处理,逻辑结构与外部实用场景差别较大,由此建立在相应逻辑结构之上的查询实现相当复杂。DBMS需要在实现数据存储透明和查询优化方面付出沉重开发代价。

(4) 阻抗失配。代价之一就是“嵌入式”SQL。由于SQL语言面向集合,基于嵌入式应用程序语言面向记录,两者编程模式不同,类型系统各异,需在相互之间通过适当方式进行转换,即会出现“阻抗失配”。解决“阻抗失配”需要使用较多的应用程序,增加了用户负担和系统开销。

针对RDB的不足及为支持在新领域中的应用,经过实践对比,人们发现面向对象技术与数据库技术相结合而形成的对象数据库具有广阔发展前景。

首先,在物理和逻辑两个层面上,通过面向对象技术可对常规面向记录的数据格式进行复杂语义结构描述,从而大大扩展了数据库技术的应用范围。


前言/序言


前言



计算机处理的对象是数据,数据可以是以数字符号为基础的数值型数据和由字符、音频、视频乃至网页等组成的非数值型数据。作为一个学科,计算机科学技术主要应用于非数值型数据。在众多的非数值型数据的应用中,有一类称为数据密集型的计算机应用领域,其基本特征是涉及数据体量巨大、数据计算结果需要长久驻留计算机及数据保持大范围共享等。这是迄今为止最大的计算机应用领域,因为任何规模化的计算机信息管理系统都需要以其为底层技术支撑,这就是数据库技术。

计算机应用从技术实现角度来看,可以分为数据计算和数据管理。数据库技术属于数据管理的技术范畴。自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园