本书一直是数据库方面的权威著作,深受对数据库系统原理感兴趣的读者的喜爱。本书现已升级至第8版,在继续保持了对数据库技术的基本内容提供翔实讲解的基础上,又对该领域的未来发展作出展望。
本书为读者提供了当前数据库系统的全面介绍,同时为该领域未来的发展指明了方向。第8版已经对目前数据库系统的最新发展内容进行了扩充,同时更加强调概念的理解,而不局限于公式的条陈。
本书的重点内容包括:
● SQL的内容已经更新到目前的最新标准。
● 为关系数据库提供了广泛深入的介绍。
● 对类型和域的本质的探讨已经成为独立的一章(第5章)。
● 第9章对完整性进行了彻底地重写。
● 对第15、16章进行了修订、扩充和完善。
● 包含了对事物的ACID特性,以及对一些未得到完全证明的结论的全面化的分析。
● 第20章(类型继承)和第23章(临时数据库)都进行了重写,以便更好地反映当今数据库研究的发展。
● 第27章(XML)介绍了数据库和XML标准的关系。
● 附录中修订了交换关系模型的概要、SQL语句中BNF语法、正文中重要的缩略语、缩略词和符号的术语表。
无
本书全面介绍了现在广泛应用的数据库系统。本书提供了坚实的数据库技术基础知识,并对数据库领域未来的发展方向给出看法。本书适合作为课本,而不是参考书(当然,在某种程度上本书作为参考书会很有用)。学习本书重点要理解,而不是机械的记忆。
本书前提
本书适合任何对计算技术有专业兴趣并在某些方面也想理解数据库系统内涵的读者。作者假设读者应该至少对下面两方面的知识有所了解:
1)现代计算机系统的存储和文件管理(索引等)知识。
2)至少一门高级编程语言的特征(Java、Pascal、PL/I等)。
关于第一个前提知识,请注意本书的在线附录D“存储结构和存取方法”中有详细的指南。
结构
必须承认本书比较厚。事实上数据库技术已经发展成了一个非常庞大的领域,以普通的篇幅进行全面介绍是不太可能的(实际上,大多数同类题材的书都在1000页左右)。本书整体上可以划分成6个主要部分:
1)基本概念。
2)关系模型。
3)数据库设计。
4)事务管理。
5)高级专题。
6)对象、关系和XML。
每一部分依次被划分成几个章节:
第一部分(共4章)全面介绍数据库系统的一般概念,特别是关系数据库系统,并介绍了标准数据库语言SQL。
第二部分(共6章)详尽地介绍关系模型,它不但是关系数据库系统的理论基础,实际上更是整个数据库系统的理论基础。
第三部分(共4章)讨论数据库设计的一般问题;其中3章介绍设计理论,1章讲解语义模型和实体/关系模型。
第四部分(共2章)涉及事务管理(也就是恢复和并发控制)。
第五部分(共8章)内容有点杂,但总体说来是介绍关系的概念和数据库技术未来若干方面的联系——安全性、分布式数据库、时态数据、决策支持等。
最后,第六部分(共3章)描述了数据库系统中的对象技术。第25章特别介绍了对象系统;第26章考虑对象和关系技术共存的可能性,并且讨论对象/关系系统;第27章讨论XML和数据库的相关性。
本书有3个附录。附录A概述一种全新的完全不同的实现技术,称作 TransRelationalTM 模型;附录B给出SQL表达式的BNF范式;附录C是术语表,包括重要的缩略语、首字母缩写词和本书用到的符号。
在线材料本教师补充资料只有符合条件的教师才能得到,有需要者请与Pearson公司北京办事处联系,联系电话:8610-8819178或8008100855。——编者注。
教师指导手册提供了如何在教数据库课程时使用本书的指导。它包括一系列针对每部分、每章的笔记、提示和建议,还有附录和其他的辅导资料。
习题答案(包含在教师指导手册中)。
ppt格式的幻灯片。
每个读者都可以从网址http://www.aw.com/cssupport得到下面的材料:
关于存储结构和存取方法的附录D(前面提到过)。
部分习题的解答。
如何学习本书
读者大体上应该按照本书写作的顺序阅读,但也可以跳过后面的章节,建议第一次阅读本书顺序是:
速读第1章和第2章。
仔细阅读第3、4章(46节和47节可以是例外)。
速读第5章。
仔细阅读第6、7、9、10章,但可以跳过第8章(86节的SQL部分应该看看)。
浏览第11章。
仔细阅读第12、14章,如果愿意可以提前读第14章,不过最好先读完第4章。可以跳过13章。
仔细阅读第15、16章(可能除了156节介绍的两阶段提交部分)。
可以根据个人的喜好和兴趣,有选择地阅读随后的章节(但要按照前后顺序读)。
每章从引言开始,以小结结束,每章都附有课后习题,本书的配套网站上提供的在线答案还包括习题知识点之外的其他信息。大多数章节还包括一些参考文献,其中很多都有注解。这种结构便于将介绍的主题组织成层次的形式,书的主体包括重要的概念和结果,各种辅助问题和更复杂的方面放在习题、答案或者参考文献中(如果合适的话)。注意:参考文献通过一个方括号中的两部分的数字来区分。例如,参考文献\[31\]表示第3章最后所列出的参考文献中的第一个,也就是EFCodd于1982年2月发表在CACM 25第2期上的论文。(参考文献中的缩略语,比如“CACM”,其解释参见附录C。)
和早期版本的比较
本书和以前版本的主要区别是:
第一部分:新版的第1~4章和第7版的第1~4章内容大体一致,但在细节上有重大的修订。特别是第4章,对SQL的介绍升级到当前标准SQL:1999,并以标准贯穿整书。(因此,本版与第7版相比,有超过半数章节进行了修订。)注意:还有的内容有可能纳入下一个SQL标准版本中——2003年底的时候可能通过——在适当的时候都有所提及。
第二部分:第5~10章是关于关系模型的内容,和第7版的第5~9章相比,这部分整体被重写了,还扩充了很多内容,有了很大程度的改进。特别是关于类型(俗称为域)的介绍,被扩充为一章(第5章),关于完整性的介绍(第9章)我彻底地调整了结构并进行了重写。我在短时间内完成这部分章节的增改,但更新的内容,没有表现在底层概念上,而是表现在我选择如何描述它们的方式上,这些改变是以我在教授这部分内容时描述它们的实践经历为基础的。
注意:这里有必要作进一步的解释。本书的早期版本用SQL作为教授关系概念的基础,这是因为我们相信,具体的东西比抽象的东西更容易展示。但不幸的是,SQL和关系模型之间的鸿沟扩大了,并且这一鸿沟有继续扩大的趋势,最终会达到一种状况,再这样继续下去,有可能会误导我们对SQL的使用。可悲的是,SQL越来越远离作为关系原理的具体体现,它包含了太多不合理的地方——冗长、功能太多,坦率地说我压根都不想讨论它。但是,从商业的角度看SQL显然很重要,因此每个数据库专业人员都有必要熟悉它,在本书中忽略这个问题也是不恰当的。因此在书中介绍了我的解决策略:(a)第一部分有一章来介绍SQL基础;(b)其他章中有单独的部分描述该章讨论的主题涉及的SQL诸方面。通过这种方法本书提供了全面的、广泛的SQL材料,这些材料放在我觉得合适的上下文中。
第三部分:第10~13章是第7版中第9~12章的完美修订。在内容细节上有全面的改善。
注意:一些进一步的解释是有必要的。一些批评家抱怨说早期版本关于数据库设计主题的讨论太靠后了,但我认为是学生们还没有准备好来正确地设计数据库或者来充分理解设计主题,除非他们初步理解了数据库是什么和数据库是如何应用的;换句话说,我认为在向学生提出设计问题前,在关系模型和相关主题上花些时间是很重要的。因此我仍然认为第三部分的位置是合适的。(的确,我知道有些老师愿意提前教授实体/关系模型,因此我尽量使第14章自成一体,这样他们就可以在讲完第4章后马上讲述第14章了。)
第四部分:这部分的两章,第15、16章,是从第7版的第14、15章修订而来的,是完全的重写、扩展和改进。特别是第16章,现在包括对所谓的事务的ACID属性的仔细分析和一些相关的非正统的结论。
第五部分:第20章关于类型继承和第23章关于时态数据库都全部重写,以反映相关领域的最新研究和发展。对其他章节的修订都是些美化工作,不过在解释和举例上有所改善,并且多处引用了新材料。
第六部分:第25和26章是第7版的第24和25章的改善和扩展。第27章是全新的。
最后,附录A也是新的,附录B和C分别是对第7版的附录A和C的修订(第7版的附录B的材料已经合并到本书的主体部分了)。
本书的特色
市场上的每本数据库书籍都有各自的优缺点,并且每个作者都是有针对性地著书。一个集中于事务管理问题,一个强调实体/关系模型;另一个仔细分析SQL的各个方面,也有以纯粹“对象”的观点来介绍数据库的,还有专门讨论一些商业数据库产品的,等等。当然我也不例外,我也有把削减题材的斧头:也许是可以被称为基础的斧头。我坚定地相信,当我们在基础之上再有所发展之前,必须打好基础,对它有恰当的理解。这种信念解释了我为什么在本书中如此强调关系模型;特别是第二部分的篇幅——本书中最重要的部分——在这部分中我尽可能谨慎地提出了我对关系模型的理解。我对基础很感兴趣,而不是时尚或流行的东西。产品总是在改变,但原则更持久。
在这方面,我希望能提醒你注意这个事实,对某些很重要的主题(基础),本书使用一个完整、深入的章(或者附录)来介绍。讨论的主题有:
类型
完整性
视图
缺失信息
继承
时态数据库
TransRelationalTM模型
基于同样的观点(基础的重要性),我必须承认本书的整体叙述方式这几年来已经变了。前几版主要是自然的描述;描述该领域在实践中实际的样子,“尽管有各种缺点与瑕疵”。后来的版本,相对而言说明性更多些;讨论的是该领域应该是什么样子和未来可能的发展方向,如果我们行事正确的话。现在的版本在这个意义上的确是说明性的了(因此这是带有个人观点的教材)。既然“行事正确”的第一部分是教育人什么是正确的事,我希望,本书的新版本能在这方面有所帮助。
另一个相关的观点:也许你也知道,我最近和我的同事Hugh Darwen合作出版了另一本“说明性”的书,《Foundation for Future Database Systems:The Third Manifesto》(本书参考文献\[33\])本书有一个相关站点是http://www.thethirdmanifesto.com。更多的相关材料也见http://www.dbdebunk.com。。我们称该书为《第三个宣言》,或者简称为《宣言》,它基于关系模型为未来的数据库系统提供详细的技术上的建议;它是Hugh和我多年教学与思考这些问题的结晶。并且,《宣言》的思想渗透在本书中。这并不是说阅读《宣言》是阅读本书的必要前提,但它的确是和本书涉及的内容有很大的直接相关性,并且在那里经常会发现更进一步的相关信息。
注意:参考文献\[33\]使用Tutorial D语言,用来解释目的,本书也是一样。Tutorial D的语法和语义多多少少是自解释的(该语言可能是描述特征的,自由松散的,像“Pascal”之类),但是个别的特征在第一次使用的时候会有所解释,如果有必要的话。
结束语
我愿意用下面略微修改过的另一篇序言来结束这个前言——伯兰特·罗素的《伯兰特·罗素关于智力、物质和道德辞典》。
我被指责有不停改变观点的恶习……我自己丝毫不以之(前述的习惯)为耻。活跃于1900年的哪个唯物论者能自夸在最后的半个世纪他的观点从没改变过?……我所重视并且努力去追求的哲学是科学,从某种意义上讲就是要获得真实的知识,新的发现会使任何聪慧的头脑都不可避免地承认先前的错误。至于我曾经说过的,无论说得早或晚,我不会像那些空头理论家出于他们的信念那样宣称为真理。我只能说我所表达的观点目前来说是明智合理的……如果后续的研究不能表明它需要修改的话,我会很惊讶的。这种观点不是傲慢武断的声明,而是我目前能做到的更接近于清楚和正确思考的最好声明。文字的清晰是我追求的最终目的。
如果你比较过本书第8版和以前的版本,你会发现我在许多事情上已经改变了观点(毫无疑问还会继续改变下去)。我希望你能接受上面引用的评论,来恰当地判断这件事的目前状态。我赞同伯兰特·罗素关于科学质询是什么的观点,但是他对此观点的描述比我所能描述的更加雄辩、更有说服力。
致谢
我很乐意再一次感谢在本书写作过程中有过直接或间接参与的许多人:
首先,我必须感谢我的朋友David McGoveran和Nick Tindall,感谢他们在本书出版中花费的心血;David提供了第22章关于决策支持的初稿,Nick提供了第27章关于XML的初稿。我也必须感谢我的朋友和同事Hugh Darwen对手稿中所有SQL部分的主要帮助(多种形式的帮助)。Nagraj Alur和Fabian Pascal提供给我各种各样的技术背景材料。特别感谢Steve Tarin发明了附录A中描述的技术,并且感谢他帮助我彻底理解了该技术。
其次,本书的内容受益于过去几年中我教过的学生在研讨会上提出的意见,也颇得益于许多朋友和评论家的意见和讨论,包括IBM公司的Hugh Darwen,根特大学的Guy de Tré,圣地亚哥州立大学的Carl Eckberg,Rensselaer工艺美术学院的Cheng Hsu,密歇根大学迪尔伯特分校的AbdulRahman Itani,波士顿大学的Vijay Kanabar,史蒂文斯技术研究所的Bruce OLarsen,纽卡斯尔Northumbria大学的David Livingstone,Alternative Technologies的David McGoveran,IBM公司的Steve Miller,独立咨询员Fabian Pascal,佛罗里达亚特兰大大学的Martin KSolomon, Required Technologies的Steve Tarin和IBM公司的Nick Tindall。上述名单中的每一位或者至少校阅了手稿中的某些部分,或者提供了技术材料,或者帮我找到了许多技术问题的答案,我很感谢他们。
我要感谢我的妻子Lindy又帮我设计了书的封面,感谢她在我写本书和这么多年来所有其他数据库相关书籍过程中一贯的支持。
最后,我要感谢AddisonWesley公司的Maite SuarezRivas和Katherine Harutunian,感谢他们在我写这本书时所给予的鼓励和支持,同时本书设计者Elisabeth Beller的辛勤工作。
C. J.Date
Healdsburg,California,2003
C. J. Date:C. J. Date: 1962年、1966年在英国剑桥大学获得数学学士、硕士学位,1994年获得英国Montfort大学技术博士学位。 Date先生发表了300多篇数据库方面的技术性文章和研究论文,对数据库理论的发展作出了巨大的贡献。他还是Database Programming & Design和Intelligent Enterprise的专栏作家。他经常受邀请在世界各地做数据库技术方面的精彩演讲。
孟小峰 王珊 姜芳艽 等:暂无简介
计算机技术的发展过程是一个不断创新的过程。没有任何一项技术的发展能够像计算机技术的发展这样,其创新总是让人应接不暇,其进步总是让人不得歇息的机会。数据库技术是计算机科学技术中发展最快的领域之一,也是应用最广的技术之一,它是计算机信息系统与应用系统的核心技术和重要基础。数据库作为计算机专业及相关专业的核心课程,国内外已有大量与此相关的教科书出版。初步分来,不外以下几类:一是以导论和概论为主的综合类,这些书适合低年级计算机本科的入门教育;二是较为深入的数据库实现技术介绍,这些书适合高年级本科和低年级研究生的提高教育;三是面向某些数据库专门技术的专深内容的讲解,适合数据库研究方向的高年级研究生使用。
近30年来,戴特(C.J.Date)博士的这本《数据库系统导论》(《An Introduction to Database Systems》)一直是数据库方面的权威著作,经久不衰,深受读者的喜爱。作者戴特博士是关系数据库技术领域中非常著名的独立撰稿人、学者和顾问。多年来,戴特先生一直活跃在数据库领域,他是最早认识到卡德博士(E.F.Codd)在关系模型方面所做的开创性贡献的学者之一。此次推出的最新版在继续保持了对数据库技术的基本内容提供翔实讲解的基础上,又对该领域的最新发展进行了介绍。正如Michigan大学的Qiang Zhu博士对该书的评论中提到的“(本书)除了对参考书目的翔实的注释之外,作者对该领域的深入洞察、对深奥理论的浅显的解释、对一些有争论问题的开放式讨论、以及书中有关前沿的内容等,都使该书成为近二十多年中数据库领域中最受欢迎的书。”的确,戴特博士这种深入浅出的写作风格和对大量第一手资料的充分掌握,是本书长久不衰,生命力得以不断延续的根本所在。
大约在20多年前,本书的第2版由科学出版社翻译出版,第7版由机械工业出版社华章分社出版,此次翻译的是本书的第8版。在翻译过程中,本人深感书的内容变化颇大。虽多年从事数据库的教学工作,借本次翻译之机,犹如重新充电。尤其书中对许多传统概念的重新认识和讲解(如关系模型、视图更新等)对本人启发很大。教书不能一成不变,教好书尤其要推陈出新。依据翻译的感受和使用本书一学期的教学实践,归纳起来,我认为本书具有如下的突出的特点:
第一,注重基础知识的讲解。每一本有关数据库的书都有其侧重点,每一个作者也都有其所擅长的方面,本书所强调的主要是基础。要想在基础之上做一些事情,必须要牢牢地把握好基础,并且对其有正确的理解。戴特博士一贯认为关系数据模型是现代数据库技术的基础,它使这一领域具有了科学性。如今任何有关数据库技术基础的书籍,若没有包括关系模型,那它是不全面的。同样,如果没有深入理解关系模型,而声称是数据库领域的专家,那也是无法让人接受的。为此本书用长达六章的篇幅来详细介绍关系模型的有关概念(第7版为五章)。
第二,注重用全新的观点和视角认识新旧问题。戴特博士在书的前言中特别引用了一段话“人们可以获得一些确定性的知识,人们还可以从新的发现中更正那些以前所接受的错误的观点,使其更为公正,正是从这个意义上来讲,笔者认为自己所一直信奉并且尽力保持的这种不断改变自己观点的哲学方法是科学的。对于笔者说的话,不管是以前说过的还是以后将要说的,笔者并不像神学家信奉他们的信条那样认为它们是真理。笔者所主张的只是在当时为大多数人所接受的较为明智的看法……”我十分钦佩作者的这种精神。比如,关系模型不是一个静态的事物,理解这一点是非常重要的——过去几年里它不断发展和进化,未来仍将如此。作者用他在《对象关系数据库基础:第三版宣言》(1998)中的观点,重新解释了关系模型的含义,并与传统定义相比较。特别地,书中对类型(域)、关系值和关系变量、完整性,谓词和视图等内容都提出了大量新的观点。基于新的解释,作者对视图更新这一传统难题给予了更为清晰的解释,在教与学两个环节上都更便于把握。再比如对传统的规范化理论,增加了新的关系值的属性、逆规范化 (denormalization)、正交设计(orthogonal design)和语义模型等有关内容(包括“商业规则”)。
第三,注重分析问题的本质,带给读者以思考的空间。比如第18章信息空缺,先描述空值和3VL的基本思想,然后讨论了这些思想所带来的一些严重后果,以此来证明空值和3VL是非常严重的错误。在关系模型这样清晰规范的系统中应该没有它们的位置,但作者认为对空值和3VL不加介绍是不合适的,只有通过分析批判,才能给读者更大的认识空间。同样针对“对象数据库/对象关系数据库为什么不能取代关系数据库”这一问题,作者用大量的分析比较,论述的十分精彩。特别是“对象DBMS还是一个DBMS吗?”,一语道破对象数据库的本质。
第四,注重反映数据库的新技术。数据库学科的发展可谓突飞猛进。第8版注重补充数据库新的成果,但又不哗众取宠,取舍得当是这部分的关键。如第18章(空缺信息),第20章(类型继承),第22章(决策支持),第23章(时态数据库),第24章(逻辑数据库),和第21章(分布式数据库),第25、26章(对象数据库/对象关系数据库)等,都是数据库的最新的且相对成熟的技术。
最后,本书提供了丰富翔实的参考文献和注释。这也是本书一贯的风格和传统。它几乎成为一种书写体例为大家所广泛接受。这些参考书目反映了以前和现在该领域的研究状况,而且对有兴趣的读者还提供了好的信息资源。我本人就获益匪浅,当我要查找一个经典文献的出处时,最先想到的就是戴特博士的这本书。
当然本书也不是没有缺点。可以看出,戴特博士在尽其所能延续这本书的经典地位,但毕竟戴特博士脱离数据库学术界和大学教学一线多年,其对主流技术的把握略显生疏,比如对数据库实现技术无所涉及,但好在这方面已有其他很好的教材可以参考。
全书主要包括六个部分和三个附录。第一部分主要介绍了数据库系统中的一般概念和关系数据库系统。第二部分详细介绍了关系模型这一数据库领域的基础理论。第三部分讨论了数据库设计的理论和实践中的一些问题。第四部分主要介绍了事务处理,包括恢复和并发控制。第五部分讨论了数据库的一些高级主题,包括:安全性、优化、类型继承、分布式数据库、时态数据库、逻辑数据库等。最后,第六部分讲解了对象关系数据库技术以及XML数据管理技术。
本书的翻译和审校由孟小峰和王珊共同组织完成。参加翻译的还有姜芳艽、尹少宜、赖彩凤、李先、凌妍妍、王凌、陈继东、 刘伟、周军锋、黄静、贾琳琳等。全书由孟小峰负责统一定稿。
本书涉及面广,内容丰富,术语量大,由于译者水平有限,译文中不当之处在所难免。诚恳读者批评指正并不吝赐教。如果你有任何建议或意见,欢迎发E-mail至xfmeng@public.bta.net.cn。
译者
二○○七年五月于北京
译者序
译者简介
第8版前言
第一部分基 础 知 识
第1章数据库管理概述2
11引言2
12数据库系统的构成4
13数据库的内涵6
14使用数据库的优点9
15数据独立性11
16关系系统及其他数据库系统14
17小结16
习题16
参考文献17
第2章数据库系统体系结构18
21引言18
22三级体系结构18
23外部层19
24概念层21
25内部层22
26映像22
27数据库管理员23
28数据库管理系统24
29数据通信26
210客户/服务器体系结构26
211实用程序27
212分布式处理27
213小结29
习题29
参考文献30
第3章关系数据库简介32
31引言32
32关系模型概述32
33关系和关系变量34
34关系的含义36
35优化37
36数据字典38
37基本关系变量和视图39
38事务41
39供应商和零件数据库42
310小结43
习题44
参考文献45
第4章SQL简介47
41引言47
42SQL基本操作47
43目录49
44视图50
45事务50
46嵌入式SQL51
47动态SQL和SQL/CLI55
48SQL并不完美57
49小结57
习题58
参考文献59
第二部分关 系 模 型
第5章类型64
51引言64
52值与变量64
53类型与表示66
54类型定义69
55操作符70
56类型生成子74
57SQL支持75
58小结80
习题81
参考文献82
第6章关系83
61引言83
62元组83
63关系类型86
64关系的值87
65关系变量92
66SQL的支持96
67小结100
习题101
参考文献102
第7章关系代数105
71引言105
72关系封闭性106
73基本代数:语法107
74基本代数:语义109
75举例115
76关系代数的作用117
77深入讨论118
78附加的操作符119
79分组与解组124
710小结126
习题126
参考文献128
第8章关系演算130
81引言130
82元组演算131
83举例136
84关系演算与关系代数的比较138
85计算能力141
86SQL语言142
87域演算149
88QBE151
89小结154
习题155
参考文献156
第9章完整性158
91引言158
92进一步讨论159
93谓词和命题161
94关系变量谓词和数据库谓词162
95约束检查162
96内部谓词与外部谓词163
97正确性与一致性164
98完整性和视图165
99约束分类模式166
910码167
911触发器172
912SQL的支持174
913小结177
习题178
参考文献180
第10章视图185
101引言185
102视图的用途187
103视图检索189
104视图更新189
105快照199
106SQL对视图的支持200
107小结202
习题202
参考文献203
第三部分数据库设计
第11章函数依赖209
111引言209
112基本概念209
113平凡的函数依赖和非平凡的函数
依赖211
114依赖集的闭包211
115属性集的闭包212
116最小函数依赖集214
117小结215
习题216
参考文献217
第12章进一步规范化Ⅰ:1NF、2NF、
3NF和BCNF219
121引言219
122无损分解和函数依赖221
123第一、第二和第三范式223
124保持函数依赖228
125BOYCE/CODD范式229
126具有关系值属性的关系变量233
127小结234
习题234
参考文献236
第13章进一步规范化Ⅱ:高级范式238
131引言238
132多值依赖与第四范式238
133连接依赖与第五范式241
134规范化过程小结244
135逆规范化246
136正交设计247
137其他的规范化形式249
138小结250
习题250
参考文献251
第14章语义建模256
141引言256
142总体方法257
143E/R模型258
144E/R图261
145基于E/R模型的数据库设计262
146简单分析265
147小结267
习题268
参考文献269
第四部分事 务 管 理
第15章恢复280
151引言280
152事务280
153事务恢复283
154系统恢复284
155介质恢复286
156两阶段提交286
157保存点287
158SQL对事务的支持287
159小结288
习题288
参考文献289
第16章并发292
161引言292
162三个并发问题292
163锁294
164重提三个并发问题295
165死锁297
166可串行性298
167重提恢复299
168隔离级别300
169意向锁301
1610ACID的不足之处303
1611SQL的支持306
1612小结306
习题307
参考文献308
第五部分高 级 专 题
第17章安全性314
171引言314
172自主存取控制315
173强制存取控制319
174统计数据库320
175数据加密324
176SQL的支持327
177小结329
习题330
参考文献330
第18章优化333
181引言333
182一个启发性的示例334
183查询处理概述334
184表达式转换337
185数据库统计信息340
186分而治之的策略341
187关系操作的实现算法343
188小结346
习题347
参考文献349
第19章信息空缺362
191引言362
1923VL方法概述363
193上述方案所造成的某些结果367
194空值和码369
195外连接370
196特殊值372
197SQL的支持372
198小结376
习题376
参考文献378
第20章类型继承381
201引言381
202类型的层次结构383
203多态性和可置换性386
204变量与赋值388
205约束特化391
206比较392
207操作、版本和签名395
208圆是椭圆吗397
209再论约束特化400
2010SQL的支持401
2011小结404
习题405
参考文献406
第21章分布式数据库409
211引言409
212预备知识409
213十二个目标411
214分布式系统面对的问题416
215客户/服务器系统424
216DBMS独立性426
217SQL的支持429
218小结429
习题430
参考文献430
第22章决策支持436
221引言436
222决策支持的特征437
223决策支持的数据库设计438
224数据准备442
225数据仓库和数据集市443
226联机分析处理446
227数据挖掘451
228SQL的支持452
229小结453
习题453
参考文献454
第23章时态数据库457
231引言457
232问题是什么459
233时间区间463
234归并和反归并关系467
235关系操作符推广474
236数据库设计478
237完整性约束482
238小结486
习题487
参考文献488
第24章基于逻辑的数据库489
241引言489
242综述489
243命题演算491
244谓词演算494
245数据库的证明理论观点498
246演绎数据库系统501
247递归查询过程504
248小结509
习题510
参考文献511
第六部分对象、关系和XML
第25章对象数据库516
251引言516
252对象、类、方法和消息518
253进一步的分析521
254一个详实的示例526
255混合性问题533
256小结538
习题539
参考文献540
第26章对象/关系数据库546
261引言546
262第一个根本性错误548
263第二个根本性错误552
264实现上的问题554
265真正融合的好处556
266SQL工具557
267小结561
习题562
参考文献562
第27章互联网与XML569
271引言569
272万维网和因特网569
273XML综述570
274XML数据定义577
275XML数据操纵583
276XML和数据库589
277SQL的支持590
278小结594
习题595
参考文献596
附录
附录ATransRelational模型599
附录BSQL表达式613
附录C缩略语和符号620