数据库系统:设计、实现与管理(基础篇)(原书第6版)
作者 : [英]托马斯 M. 康诺利(Thomas M. Connolly) 卡洛琳 E. 贝格(Carolyn E. Begg)著
译者 : 宁洪 贾丽丽 张元昭 译
丛书名 : 计算机科学丛书
出版日期 : 2016-05-30
ISBN : 978-7-111-53740-3
定价 : 129.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 625
开本 : 16
原书名 : Database Systems: A Practical Approach to Design, Implementation, and Management, Sixth Edition
原出版社: Pearson Education Asia
属性分类: 教材
包含CD :
绝版 :
图书简介

本书是数据库领域的经典著作,内容系统、全面、实用,被世界多所大学选为数据库课程的教材。全书共分9个部分,其中的主要内容有:数据库系统和数据库设计的基础知识;关系模型和关系语言;数据库分析和设计;数据库设计方法学;数据库安全、事务管理、询问处理与优化和嵌入式SQL;分布式DBMS和复制;对象DBMS;以及一些日益重要的技术,包括DBMS与Web、商务智能等。

图书特色

本书是数据库领域的经典畅销著作,被世界多所大学选为教材,同时被广大技术人员和管理者人员视为必读书。本书作者曾在工业界致力于数据库系统的设计,后进入学术界精耕于教学,深谙专业人士和非专业人士在使用和学习数据库时的痛点。因此,本书采用这两类读者都易于接受和理解的方式,全面介绍数据库设计、实现和管理的基本理论、方法和技术。
本书中文版分为“基础篇”和“进阶篇”,分别对应原书第一~五部分和第六~九部分。附录F~附录O为原书配套的付费资源,有需要的读者请联系培生教育出版集团北京代表处购买,电话010-5735 5169/5735 5171,电子邮件service.cn@pearson.com。参考文献为免费资源,可访问华章网站(www.hzbook.com)免费下载。
本书特色
方法与案例。提供逐步指导的数据库设计方法学,从概念设计到逻辑模型再到物理实现,基于ER模型并将规范化作为验证技术;通过贯穿全书的DreamHome案例说明如何使用这套方法学,另有若干案例可供学生选做。
更新与升级。扩展了第3章“数据库的结构与Web”,增加了云计算;修改了与SQL相关的章节,全面反映新标准SQL:2011;与Oracle相关的内容全部修改为针对Oracle 11g;每章最后新增了思考题与习题。
形式与风格。每章都采用清晰易懂的表述方法,开篇明确给出学习目标,章中每一则定义都用特殊格式突出显示,通篇使用大量示例和图表来说明问题,最后给出小结,并配有练习。


托马斯 M. 康诺利
(Thomas M. Connolly)
西苏格兰大学教授,创新技术与应用计算部门(ICTAC)主管,ICT教育研究中心主席。研究方向为数据库管理系统、中小企业创新实践以及计算机游戏等,曾参与设计世界上第一个商业可移动数据库管理系统RAPPORT和配置管理工具LIFESPAN,后者获英国设计奖。








卡洛琳 E. 贝格
(Carolyn E. Begg)
西苏格兰大学讲师,研究方向为信息系统、数据库管理系统和医学决策支持系统。贝格拥有格拉斯哥大学分子生物学专业博士学位,是数据库技术应用于生物领域的专家。


宁 洪

国防科技大学计算机学院教授,教育部软件工程专业教学指导委员会委员。主要教学和科研领域是软件工程和数据库技术,主讲“数据库原理与技术”“数据库管理系统”等十多门本科和研究生课程,主持或参与国家和军队各类课题近20项,发表科研论文70余篇,公开出版教材7本,培养硕士研究生60余名。
曾荣获国家教学成果一等奖1项,军队级教学成果一等奖、二等奖共3项;国家科技进步二等奖、部委级和军队科技成果二等奖共4项;荣立二、三等功各一次;“全军优秀教师”、全国城镇妇女“巾帼建功”标兵称号,湖南省普通高等学校教学名师奖和“中国人民解放军院校育才奖”金奖。

图书前言

背景
在过去的30年中,数据库的研究带来了巨大的生产力,使得数据库系统成为软件工程领域最重要的成果。目前,数据库作为信息系统的基本框架,已从根本上改变了许多公司的运作方式。特别是在最近几年里,随着这项技术本身的发展,产生了一些功能更强大、使用更方便的系统。这使得数据库系统变得越来越普及,用户类型也越来越广泛。遗憾的是,正是由于数据库系统的简单性,许多用户有可能尚缺乏必要的知识,还不懂得如何开发正确且高效的系统,就开始创建数据库及其应用程序了。这样很可能导致所谓的 “软件危机”(software crisis,有时也称为“软件抑郁”(software depression))的延续。
编写本书的最初动因是我们在工业界的工作经历,当时我们为新软件系统中数据库的设计提供咨询,间或也解决遗留系统中存在的种种问题。进入学术界后,我们从另一类用户—学生那里发现了类似的问题。因此,本书的目标就是给出一本教程,尽可能清楚地介绍数据库的基础理论,并给出一套既能为专业技术人员亦能为非技术人员所用的数据库设计方法学。
本书针对当前主流的商用产品—关系数据库管理系统(DBMS)给出的设计方法学,已在学术界和工业界测试和使用了许多年。它包括三个主要阶段:数据库的概念设计、逻辑设计和物理设计。第一个阶段在不考虑任何物理因素的前提下设计概念数据模型,得到的数据模型在第二阶段被细化为逻辑数据模型,细化过程主要是去除在关系系统中无法表示的结构。在第三阶段,逻辑数据模型被转换成针对目标DBMS的物理设计,物理设计阶段主要考虑如何设计存储结构和访问方法,以便有效并安全地访问存储在辅存中的数据库。
该方法学按阶段被分为一系列步骤。对于缺少经验的设计者,最好按步骤进行设计,这里所提供的指南可帮助你完成整个过程。对于有经验的设计者,该方法学的指导作用显然会弱化,但经常可用于开发框架和检查列表。为了帮助读者学习使用上述方法学并理解其要点,整个方法学的描述中始终贯穿一个完整的DreamHome案例研究。附录B还给出了另外三个案例,供读者自行研究。
UML(统一建模语言)
越来越多的公司都在规范各自的数据建模方法,即选择一种特定的建模方法并在整个数据库开发项目中始终如一地使用它。一种在数据库概念设计和逻辑设计阶段较为通用的高级数据模型是ER(实体-联系)模型,这也是本书采用的模型。由于当前还没有表示ER模型的标准方法,因此大部分书籍在描述关系DBMS的数据库设计时,常常使用下述两种表示方法之一:
Chen氏表示方法,即用矩形表示实体,用菱形表示联系,用线段连接矩形和菱形。
Crow Feet(鸦爪)表示方法,仍用矩形表示实体,用实体间的连线表示联系,在一对多联系连线的多端有一个鸦爪标记。
当前,这两种表示方法都有计算机辅助软件工程(CASE)工具。然而,它们都难于使用和解释。本书的较早版本曾使用Chen氏表示方法,而在随后培生教育出版集团进行的一次问卷调查中,比较一致的意见是应该使用最新的称为UML(Unified Modeling Language,统一建模语言)的面向对象建模语言。UML表示方法结合了面向对象设计三大流派的成分:Rumbaugh的OMT建模语言,Booch的面向对象分析和面向对象设计,以及Jacobson的Objectory。
换用表示方法主要有以下三个原因:(1)UML正成为一种工业标准,例如,对象管理组(OMG)已经采纳UML作为对象方法的标准表示方法;(2)UML表达清楚并易于使用;(3) UML目前已被学术界用于面向对象分析与设计的教学,在数据库模块的教学中也使用UML将会更加一致。因此,在这个版本中,我们将采用UML的类图作为ER模型的表示方法。读者将会发现这种表示方法更加容易理解和使用。
第6版的更新之处
扩展了第3章“数据库的结构与Web”,增加了云计算。
修改了第21章“数据管理中的职业、法律与道德问题”。
增加了“数据仓库与时态数据库”(31.5节)。
每章后增加了新的思考题和习题。
修改了与SQL相关的章节,全面反映2011年公布的新标准SQL:2011。
修订了第26章“复制与移动数据库”。
修改了关于Web-DBMS集成和XML的章节。
与Oracle相关的内容一律修改为针对Oracle 11g。
读者对象
本书可作为本科生数据库管理或数据库设计的导论性教材,也可作为研究生或高年级本科生相关课程的教材,学时可分为一到两个学期。通常信息系统、商业IT或计算机科学等专业都包含这类课程。
本书还可以作为一些IT专业人士的参考书,如系统分析和设计人员、应用程序开发人员、系统程序员、数据库从业人员及独立的自学者。随着当今数据库系统的广泛使用,这些专业人士可能来自于需要数据库的任何类型的公司。
读者在学习关于物理数据库设计的第18章和关于查询处理的第23章之前,如果对附录F中介绍的文件组织和数据结构相关概念有清楚的了解,那么将会有所帮助。理想的情况是这些背景知识已从前导课程中获得。如果不具备这个条件,则可以在开始数据库课程后,学完第1章立即学习附录F。
如果读者已经掌握了一门高级编程语言,比如C,那么在学习附录I的嵌入式与动态SQL和28.3节的ObjectStore时会更有成效。
突出特点
(1)为数据库逻辑设计和概念设计提供了易用、逐步指导的方法学,该方法学基于广泛采用的实体-联系模型并将规范化作为验证技术。此外,通过一个完整的案例研究来说明如何使用这套方法学。
(2)为数据库物理设计提供了易用、逐步指导的方法学,包括:逻辑设计到物理实现的映射,文件组织方法的选择,适合应用程序的索引结构,以及何时引入可控冗余。此外,通过一个完整的案例研究来说明如何使用这套方法学。
(3)用独立的章节来讲解以下三个主题:数据库设计阶段在整个系统开发生命周期中的位置与作用;如何使用实况发现技术来获取系统需求;如何将UML用于整个方法学。
(4)每章都采用清晰且易于理解的表述方法,如突出显示定义,明确给出各章学习目标,在各章最后进行小结。通篇使用了大量示例和图表来说明概念。来自现实生活的DreamHome案例研究贯穿全书,另外还给出若干案例供学生选作课程实践题目。
(5)扩充了下列最新的正式标准及事实标准:结构化查询语言(SQL),举例查询(QBE),面向对象数据库的对象数据管理组(ODMG)标准。
(6)利用三章的篇幅,以教程式风格介绍SQL标准,包含交互式和嵌入式SQL。
(7)专设一章讨论IT和数据库中的职业、法律与道德问题。
(8)全面讨论了与分布式DBMS和复制服务器相关的概念和问题。
(9)全面介绍了基于对象的DBMS中的一些概念和问题。回顾了ODMG标准,介绍了在最新公布的SQL版本SQL:2011中出现的各种对象管理机制。
(10)扩展了作为数据库应用平台的Web部分的内容,并给出多个Web数据库访问的代码示例。具体包括容器管理持久性(CMP)、Java数据对象(JDO)、Java持久性API(JPA)、JDBC、SQLJ、ActiveX数据对象(ADO)、ADO.NET和Oracle PL/SQL Pages(PSP)。
(11)介绍了半结构化数据及其与XML的关系,扩展了XML的内容和相关术语,包括XML Schema、XQuery、XQuery数据模型和形式语义。还讨论了在数据库中集成XML,以及为发布XML而在SQL:2008和SQL:2011中所做的扩展。
(12)全面介绍了数据仓库、联机分析处理(OLAP)和数据挖掘。
(13)全面介绍了用于数据仓库数据库设计的维度建模技术,并且通过一个完整的案例来演示如何使用该方法进行数据仓库数据库设计。
(14)介绍了DBMS系统实现的有关概念,包括并发技术和恢复控制、安全以及查询处理和查询优化。
教学方法
在开始撰写本书之前,我们的目标之一就是写一本让读者容易接受和理解的教材,而不管读者具备怎样的背景知识和经验。根据我们使用教材的经验以及从很多同事、客户和学生中吸收的意见,实际上存在若干读者喜爱和不喜爱的设计特性。考虑到这些因素,本书决定采用如下的风格和结构:
在每章的开头明确说明该章的学习目标。
清楚定义每一个重要的概念,并用特殊格式突出显示。
通篇大量使用图表来支持和阐明概念。
面向实际应用:为了做到这点,每章都包含了许多实际有效的示例以说明所描述的概念。
每章最后配有小结,涉及该章所有主要的概念。
每章最后配有思考题,问题的答案都可以在书中找到。
每章最后配有习题,教师可用其测试学生对章节内容的理解,自学者也可进行自测。全部习题的答案可以在原书配套的教辅资源“教师答案手册”中找到。
教辅资源
适用于本教材的教辅资源包括:
课程PPT。
教师答案手册,包括所有课后思考题和习题的答案示例。
其他资源的配套网站:www.pearsonhighered.com/connolly-begg。
上述资源仅提供给在www.pearsonhighered.com/irc上注册过的教师。请与当地的销售代表联系。
本书结构
第一部分 背景
本书的第一部分介绍数据库系统和数据库设计。
第1章引入数据库管理的概念。主要阐述了数据库前身,即基于文件的系统之不足及数据库方法所具备的优势。
第2章总览数据库环境。主要讨论了三层ANSI-SPARC体系结构的优点,介绍了目前最通用的数据模型,列出了多用户DBMS应提供的各种功能。
第3章考察各种多用户DBMS结构,讨论了数据库领域不同类型的中间件。分析Web服务,它能为用户和SOA(面向服务的结构)提供新型的业务服务。该章简要描述分布式DBMS和数据仓库的结构,后面还将详细讨论。该章还给出一个抽象DBMS的内部结构以及Oracle DBMS的逻辑结构和物理结构,这一部分内容在数据库管理初级课程中可以略去。
第二部分 关系模型与语言
本书的第二部分介绍关系模型和关系语言,即关系代数和关系演算、QBE(举例查询)和SQL(结构化查询语言)。这部分还介绍了两种非常流行的商用系统:Microsoft Access和Oracle。
第4章介绍当前最流行的数据模型—关系模型背后的概念,这是最常被选作商用标准的模型。具体安排是首先介绍术语并说明其与数学上的关系的联系,然后讨论关系完整性规则,包括实体完整性和引用完整性。这一章最后概述视图,第7章还将进一步讨论视图。
第5章介绍关系代数和关系演算,并用示例加以说明。这部分内容在数据库管理初级课程中可以略去。然而,在第23章学习查询处理和第24章学习分布式DBMS的分段时需要用到关系代数的知识。此外,虽然不是绝对有必要,但是了解过程式的代数与非过程式的演算之间的区别将有利于学习第6章和第7章介绍的SQL语言。
第6章介绍SQL的数据操作语句SELECT、INSERT、UPDATE和DELETE。该章通过一系列有效的示例,以教程式的风格说明了这些语句的主要概念。
第7章讨论SQL标准中主要的数据定义机制。该章仍采用教程式风格,介绍SQL的数据类型、数据定义语句、完整性增强特性(IEF)和数据定义语句中一些更高级的特性,包括访问控制语句GRANT和REVOKE。此外,将再次讨论视图以及用SQL如何创建视图。
第8章涉及SQL的一些高级特性,包括SQL的编程语言(SQL/PSM)、触发器和存储过程。
第9章介绍对象关系DBMS,并详细描述了SQL新标准SQL:2011中的各种对象管理特性。该章还讨论了如何扩展查询处理和查询优化机制,以高效处理扩展的各种数据类型。该章最后将讨论Oracle中的对象关系特性。
第三部分 数据库分析与设计
本书的第三部分讨论数据库分析和设计的主要技术,以及这些技术的实际运用方法。
第10章总览数据库系统开发生命周期的各个主要阶段。特别强调了数据库设计的重要性,并说明这个过程如何被分为概念、逻辑和物理数据库设计三个阶段。此外,还描述了应用程序的设计(功能方面)对数据库设计(数据方面)的影响。数据库系统开发生命周期的关键阶段是选择合适的DBMS。这一章讨论了对DBMS的选择过程,提供了一系列方针和建议。
第11章讨论数据库开发者应于何时使用实况发现技术,以及捕获何种类型的实况。这一章描述了最常用的实况发现技术及其优缺点。通过DreamHome案例研究说明在数据库系统生命周期的早期阶段如何应用这些技术。
第12章和第13章介绍了实体-联系模型和扩展的实体-联系(EER)模型,在EER模型中,允许使用更高级的数据建模技术,如子类、超类和分类。EER模型是一种流行的高级概念数据模型,也是这里讨论的数据库设计方法学的一种基本技术。这两章还为读者介绍了如何使用UML来表示ER图。
第14章和第15章阐述了规范化背后的一系列概念,它是逻辑数据库设计方法学中的另一项重要技术。通过从一个完整的案例中抽取的几个有效部分,说明如何从一种范式转换到另一种范式,以及将数据库逻辑设计转换为某一更高范式(直至第五范式)的好处。
第四部分 方法学
本书的第四部分介绍了一种数据库设计方法学。该方法学分为三个阶段,分别是概念数据库设计、逻辑数据库设计和物理数据库设计。每个部分都使用DreamHome案例研究加以阐述。
第16章为概念数据库设计提供逐步指导的方法学。该章说明了如何将设计分解成多个基于各自视图的易于管理的部分,还给出了标识实体、属性、联系和关键字的方法。
第17章为关系模型的逻辑数据库设计提供逐步指导的方法学。该章阐述了如何将概念数据模型映射到逻辑数据模型,以及如何针对所需的事务使用规范化技术来验证逻辑数据模型。对于有多个用户视图的数据库系统,这一章还介绍了如何将得到的多个数据模型合并为一个能表示所有视图的全局数据模型。
第18章和第19章为关系系统的物理数据库设计提供逐步指导的方法学。该章阐述了如何将逻辑数据库设计阶段开发的全局数据模型转换成某关系系统的物理设计。方法学中还说明了如何通过选择文件组织方式和存储结构,以及何时引入可控冗余来改善实现的性能。
第五部分 可选的数据库专题
第五部分阐述了我们认为对于现代数据库管理课程必要的四个专题。
第20章讨论数据库的安全和管理问题。安全不仅要考虑DBMS,还包括整个环境。该章将讨论Microsoft Office Access和Oracle提供的一些安全保障,并专门阐述了在Web环境下的一些安全问题,并给出了解决这些问题的方法。最后讨论数据管理和数据库管理的任务。
第21章考虑有关IT和数据管理与治理的职业、法律与道德问题。主要内容包括区分数据和数据库管理员面对的问题和场景中哪些属法律范畴、哪些属道德范畴;各项新的规章给数据和数据库管理员提出了哪些新的要求和职责;萨班斯-奥克斯利法案和巴塞尔Ⅱ协议等法规对数据和数据库管理功能有何影响,等等。
第22章集中讨论了数据库管理系统应该提供的三种功能,即事务管理、并发控制及故障恢复。这些技术用于确保当多个用户访问数据库或出现硬件/软件部件错误时数据库是可靠且一致的。该章还讨论了一些更适合于长寿事务的高级事务模型,最后分析了Oracle中的事务管理。
第23章阐述查询处理和查询优化。该章讨论查询优化的两种主要技术:一种是使用启发式规则安排查询中操作的顺序,另一种是通过比较不同策略的相对代价选择资源耗费最少的策略。最后分析了Oracle中的查询处理。
第六部分 分布式DBMS与复制
第六部分阐述分布式DBMS。分布式DBMS技术是当前数据库系统领域一个主要的发展方向。本书前面各章主要介绍集中数据库系统,即由单个DBMS控制的位于单个节点的单一逻辑数据库。
第24章讨论分布式DBMS的概念与问题。使用分布式DBMS时,用户既可以访问自己节点上的数据库,也可以访问存储在远程节点上的数据。
第25章阐述与分布式DBMS相关的各个高级概念。具体地说,重点阐述与分布式事务管理、并发控制、死锁管理以及数据库恢复相关的协议。此外,还讨论了X/Open分布式事务处理(DTP)协议。最后分析了Oracle中的数据分布机制。
第26章讨论利用复制服务器替代分布式DBMS的方案以及与移动数据库相关的问题。该章也分析了Oracle中的复制机制。
第七部分 对象DBMS
本书前面各章都在关注关系模型和关系系统,其原因是这类系统在当前传统业务数据库应用中占据主导地位。不过,关系系统并不是万能的,在数据库领域发展面向对象DBMS就是试图克服关系系统的一些缺陷。第27章和第28章就专门叙述这一方面的发展细节。
第27章首先引入基于对象的DBMS(object-based DBMS)的概念,查看业已出现的各类新兴的数据库应用,说明关系数据模型因其种种弱点而对这些新兴的应用无能为力。然后讨论面向对象DBMS(object-oriented DBMS)的概念,从介绍面向对象数据模型及持久性编程语言开始。接下来,分析通常DBMS所用的两层存储模型与面向对象DBMS所用的单层存储模型的区别及对数据访问的影响。此外,还讨论了提供编程语言持久性的不同方法、指针混写的不同技术、版本控制、模式进化和面向对象DBMS体系结构等问题。该章也简要介绍了如何将本书第四部分介绍的方法学推广到面向对象DBMS中。
第28章介绍面向对象管理组(Object Data Management Group,ODMG)推荐的新的对象模型,这一模型已成为面向对象DBMS的事实标准。该章还介绍了一个商用的面向对象数据库——ObjectStore。
第八部分 Web与 DBMS
本书的第八部分涉及将DBMS集成到Web环境的问题,以及半结构化数据及其与XML的关系、XML查询语言和XML到数据库的映射。
第29章阐述将DBMS集成到Web环境的问题。首先简单介绍Internet和Web技术,然后说明Web作为数据库应用平台的适宜性,并讨论这种方法的优缺点。随后讨论若干种将DBMS集成到Web环境的方法,包括脚本语言、CGI、服务器扩展、Java、ADO和ADO.NET,以及Oracle Internet Platform。
第30章阐述半结构化数据,然后讨论XML及XML如何成为Web上数据表示和交换的流行标准。该章讨论XML相关技术,如名字空间、XSL、XPath、XPointer、XLink、SOAP、WSDL和UDDI,等等。该章还阐述怎样用XML模式定义XML文档的内容模型,以及怎样用资源描述框架(RDF)为元数据交换提供框架。此外,还讨论了XML的查询语言,具体集中在由W3C提出的XQuery。该章也讨论了为支持XML发布,或更广义地说为在数据库中映射和存储XML而对SQL:2011的扩展。
第九部分 商业智能
本书的最后一部分考虑与商业智能有关的主要技术,包括数据仓库、联机分析处理(OLAP)和数据挖掘。
第31章讨论数据仓库,包括它的定义、进化过程及潜在优缺点。该章阐述数据仓库的体系结构、主要组成部分和相关工具与技术,讨论数据集市及其开发和管理的有关问题。此外也讨论了数据仓库中与时间数据管理关联的概念及实践。最后分析了Oracle中的数据仓库机制。
第32章提供了设计用于决策支持的数据仓库和数据集市数据库的方法。该章描述了维度建模技术的基本概念并将其与传统的实体-联系建模技术进行比较;给出了数据仓库设计方法学指南,并通过扩展的DreamHome案例研究说明如何实际使用该方法学。该章最后说明如何用Oracle Warehouse Builder设计数据仓库。
第33章考虑联机分析处理(OLAP)。首先讨论了何谓OLAP以及OLAP应用的主要特性,然后讨论了多维数据的表示及主要的OLAP工具,最后讨论了SQL标准针对OLAP的扩展以及Oracle对OLAP的支持。
第34章考虑数据挖掘(DM)。首先讨论了何谓DM以及DM应用的主要特性,然后讨论了数据挖掘操作的主要特性和相关技术,最后描述了DM过程和DM工具的主要特性,以及Oracle对DM的支持。
附录
附录A给出DreamHome案例研究的说明,它将在全书通篇使用。
附录B给出另外三个案例研究,供学生课程设计时选用。
附录C给出有别于UML的另外两种建模表示法,即Chen氏表示方法和Crow Feet表示方法。
附录D总结了第16~19章讨论的概念、逻辑和物理数据库设计方法学。
附录E简单介绍用C#实现的一个称为Pyrrho的轻量级RDBMS,它能说明本书讨论的许多概念,还能下载使用。
在线附录
附录F介绍文件组织和存储结构的相关概念,它们对理解第18章讨论的物理数据库设计和第23章讨论的查询处理是必要的。
附录G给出Codd的关于关系DBMS 的12条规则,它是鉴别关系DBMS的标准。
附录H介绍了两种最常用的商用关系DBMS:Microsoft Office Access和Oracle。在本书的许多章节中,都涵盖这两种DBMS如何实现各种机制的内容,例如安全和查询处理等。
附录I借助C语言示例程序说明嵌入式和动态SQL,还介绍了开放数据库互连(ODBC),这一标准现在已经成为访问异构SQL数据库的业界标准。
附录J讨论如何估计Oracle数据库的磁盘空间需求。
附录K概述面向对象的主要概念。
附录L提供若干Web脚本示例,补充第29章关于Web和DBMS的讨论。
附录M介绍交互式查询语言QBE(举例查询),对于非专业用户来说,它是访问数据库时最易使用的语言之一。附录中将使用Microsoft Office Access来说明QBE的用法。
附录N给出第三代DBMS宣言。
附录O 介绍Postgres,它是一个早期的对象关系DBMS。
本书的逻辑组织及建议的阅读路线见图0-1。
纠错和建议
如此大部头的一本教材难免出现错误、分歧、遗漏和混乱,恳请各位读者为未来的再版和编辑留下你的意见。任何建议、纠错和建设性意见都可发邮件告诉我:thomas.connolly@uws.ac.uk。
致谢
这本书是我们在工业界、研究机构和学术界工作多年的结晶。要想列出在此过程中帮助过我们的所有人是很难的。我们在此对任何不巧被遗漏的人表示歉意。首先,我们把最特别的感谢和道歉送给我们的家人,这些年我们完全埋头工作,怠慢甚至忽略了他们。
我们想要感谢审阅本书早期版本的那些人:得克萨斯技术大学的William H. Gwinn,位于莱斯特的德蒙福特大学的Adrian Larner,斯克莱德大学的Andrew McGettrick,南加州大学的Dennis McLeod,加州大学的Josephine DeGuzman Mendoza,俄克拉何马大学的Jeff Naughton,诺瓦东南大学的Junping Sun,佐治亚理工大学的 Donovan Young,布拉德富大学的Barry Eaglestone,IBM的 John Wade,米兰理工大学的Stephano Ceri,位于厄斯特松德的瑞中大学的Lars Gillberg,位于哈利法克斯的圣玛丽大学的Dawn Jutla,伦敦城市大学的Julie McCann,北卡罗来纳州立大学的Munindar Singh,英国赫斯利的Hugh Darwen,法国巴黎大学的Claude Delobel,英国雷丁大学的Dennis Murray,格拉斯哥大学的Richard Cooper,厄勒布鲁大学的Emma Eliason,斯德哥尔摩大学和皇家技术学院的Sari Hakkarainen,芝加哥洛约拉大学的Nenad Jukic,安特卫普大学的 Jan Paredaens,丹尼尔·韦伯斯特学院的 Stephen Priest以及来自我们系的John Kawala 和 Peter Knaggs,还有许多匿名的人,谢谢你们花了那么多时间看我们的书稿。我们也想感谢Anne Strachan对第1版的贡献。

图0-1 本书的逻辑组织及建议的阅读路线
我们还要感谢拉马尔大学的 Kakoli Bandyopadhyay,北得克萨斯大学的Jiangping Chen,芶地比肯学院的Robert Donnelly,多明尼克大学的Cyrus Grant,华盛顿大学的David G. Hendry,斯特林大学的Amir Hussain,俄克拉何马州立大学的Marilyn G. Kletke,伦敦城市大学CCTM系知识管理研究组的Farhi Marir,印第安纳大学伯明顿主校区的Javed Mostafa,曼彻斯特大学的Goran Nenadic,旧金山州立大学的 Robert C. Nickerson,丹佛大学的Amy Phillips和劳伦斯技术大学的Pamela Smith。
关于第6版,我们想特别感谢Pearson的编辑Marcia Horton,Pearson出版团队的Kayla Smith-Tarbox和Marilyn Lloyd,以及Cenveo公司的项目负责人Vasundhara Sawhney。我们也要感谢下面这些人做出的贡献:瑞典斯德哥尔摩大学的Nikos Dimitrakas,卡迪夫大学的Tom Carnduff,匹斯堡技术学院的David Kingston,马里兰大学Park校区的Catherine Anderson,罗切斯特理工学院的Xumin Liu,澳大利亚国立大学的Dr. Mohammed Yamin,伊兹密尔经济大学的Cahit Aybet,芬兰哈格-赫利尔应用科学大学的Martti Laiho,德国罗伊特林根大学的Fritz Laux和Tim Lessner,以及英国西苏格兰大学的Malcolm Crowe。
我们还应该感谢Malcolm Bronte-Stewart 提出了 DreamHome 的想法,Moira O扗onnell 保证了Wellmeadows Hospital案例研究的准确性,Alistair McMonnies和 Richard Beeby帮助准备了Web网站上的材料。

Thomas M. Connolly
Carolyn E. Begg
格拉斯哥,2013年2月

上架指导

计算机\数据库

封底文字

本书是数据库领域的经典畅销著作,被世界多所大学选为教材,同时被广大技术人员和管理者人员视为必读书。本书作者曾在工业界致力于数据库系统的设计,后进入学术界精耕于教学,深谙专业人士和非专业人士在使用和学习数据库时的痛点。因此,本书采用这两类读者都易于接受和理解的方式,全面介绍数据库设计、实现和管理的基本理论、方法和技术。

本书中文版分为“基础篇”和“进阶篇”,分别对应原书第一~五部分和第六~九部分。附录F~附录O为原书配套的付费资源,有需要的读者请联系培生教育出版集团北京代表处购买,电话010-5735 5169/5735 5171,电子邮件service.cn@pearson.com。参考文献为免费资源,可访问华章网站(www.hzbook.com)免费下载。

本书特色
·方法与案例。提供逐步指导的数据库设计方法学,从概念设计到逻辑模型再到物理实现,基于ER模型并将规范化作为验证技术;通过贯穿全书的DreamHome案例说明如何使用这套方法学,另有若干案例可供学生选做。
·更新与升级。扩展了第3章“数据库的结构与Web”,增加了云计算;修改了与SQL相关的章节,全面反映新标准SQL:2011;与Oracle相关的内容全部修改为针对Oracle 11g;每章最后新增了思考题与习题。
·形式与风格。每章都采用清晰易懂的表述方法,开篇明确给出学习目标,章中每一则定义都用特殊格式突出显示,通篇使用大量示例和图表来说明问题,最后给出小结,并配有练习。

译者简介

宁洪 贾丽丽 张元昭 译:暂无简介

译者序

随着信息社会的到来,数据日益成为宝贵的资源,数据库作为数据管理的基本技术和工具,正广泛应用于各行各业。然而,正如本书作者在前言中所述:“遗憾的是,正是由于数据库系统的简单性,许多用户有可能尚缺乏必要的知识,还不懂得如何开发正确且高效的系统,就开始创建数据库及其应用程序了。”本书的目标就是以读者易于接受和理解的方式介绍数据库设计、实现和管理的基本理论、方法和技术。本书既涵盖了数据库领域的经典内容,又反映了近期的研究成果,特别是为数据库概念设计、逻辑设计和物理设计提供了步骤完备的方法学,非常有实用价值。2004年我们曾翻译本书的第3版,广受读者欢迎,后来的第4版、第5版扩充了数据库领域的新技术,特别是随着互联网、移动计算的发展衍生出来的应用技术,并增强了可读性。第6版增加了云计算、时态数据库等内容,充实了第21章“数据管理中的职业、法律与道德问题”,与SQL相关的章节全面更新为2011年公布的新标准SQL:2011。
本书的两位作者均具有丰富的数据库管理系统和数据库应用系统的设计经验,托马斯M.康诺利(Thomas M. Connolly)曾参与设计世界上第一个商业可移动数据库管理系统RAPPORT和配置管理工具LIFESPAN,后者获英国设计奖;卡洛琳E.贝格(Carolyn E. Begg)则是数据库技术应用于生物领域的专家。
本书系统性强、结构清晰,特别注重理论联系实际,并以一个可运行的DreamHome(房屋租赁公司)案例贯穿全书,便于阅读和理解。本书既可作为计算机及相关专业本科生数据库管理或数据库设计的导论性教材(选取部分内容),也可作为研究生或高年级本科生相关课程的教材,亦可作为IT专业人士(包括系统分析和设计人员、应用程序开发人员、系统程序员、数据库从业人员及独立的自学者)的参考书。
中文版分为两册,共九个部分。本书为基础篇,包括原书的前五部分:第一部分概述数据库系统和数据库设计的基础知识;第二部分讨论关系模型与语言;第三部分讨论数据库分析和设计的主要技术;第四部分结合实例讲解数据库设计方法学,提供详细的步骤解析;第五部分讨论四个可选专题,涵盖数据库安全、法律与道德问题、事务管理和查询处理。
宁洪教授全面负责本书的翻译,贾丽丽提供了第三、四、五部分的大部分初稿,张元昭提供了第二部分的大部分初稿,全书由宁洪教授统稿并审校。
限于译者水平,译文中的疏漏和错误在所难免,欢迎批评指正。
本书是在2004年翻译的第3版的基础上完成的,借此机会向参与第3版翻译工作的其他译者致谢。

译者
国防科技大学计算机科学与技术系

图书目录

出版者的话
译者序
前言
第一部分 背景
第1章 数据库简介2
1.1 引言3
1.2 传统的基于文件的系统4
1.2.1 基于文件的方法5
1.2.2 基于文件方法的局限性8
1.3 数据库方法10
1.3.1 数据库10
1.3.2 数据库管理系统(DBMS)11
1.3.3 (数据库)应用程序12
1.3.4 DBMS环境的组成部分13
1.3.5 数据库设计:范型改变15
1.4 数据库环境中的各种角色16
1.4.1 数据管理员和数据库管理员16
1.4.2 数据库设计人员16
1.4.3 应用开发人员17
1.4.4 终端用户17
1.5 数据库管理系统的历史17
1.6 DBMS的优点和缺点20
本章小结23
思考题23
习题24
扩展阅读25
第2章 数据库环境26
2.1 ANSI-SPARC三层体系结构27
2.1.1 外部层28
2.1.2 概念层28
2.1.3 内部层28
2.1.4 模式、映射和实例29
2.1.5 数据独立性30
2.2 数据库语言30
2.2.1 数据定义语言(DDL)31
2.2.2 数据操作语言(DML)31
2.2.3 第四代语言32
2.3 数据模型和概念建模33
2.3.1 基于对象的数据模型34
2.3.2 基于记录的数据模型34
2.3.3 物理数据模型36
2.3.4 概念建模36
2.4 DBMS的功能36
本章小结39
思考题40
习题40
扩展阅读41
第3章 数据库的结构与Web42
3.1 多用户DBMS结构42
3.1.1 远程处理43
3.1.2 文件服务器结构43
3.1.3 传统的两层客户-服务器结构44
3.1.4 三层客户-服务器结构45
3.1.5 N层客户-服务器结构47
3.1.6 中间件47
3.1.7 事务处理监视器49
3.2 Web 服务与面向服务的结构50
3.2.1 Web 服务50
3.2.2 面向服务的结构(SOA)51
3.3 分布式DBMS53
3.4 数据仓库54
3.5 云计算56
3.5.1 云计算的好处与风险58
3.5.2 基于云的数据库方案60
3.6 DBMS的组件63
3.7 Oracle的体系结构65
3.7.1 Oracle的逻辑数据库结构65
3.7.2 Oracle的物理数据库结构67
本章小结71
思考题71
习题72
扩展阅读72
第二部分 关系模型与语言
第4章 关系模型74
4.1 关系模型简史74
4.2 基本术语76
4.2.1 关系数据结构76
4.2.2 数学中的关系78
4.2.3 数据库中的关系79
4.2.4 关系的性质79
4.2.5 关系关键字80
4.2.6 关系数据库模式的表示81
4.3 完整性约束83
4.3.1 空83
4.3.2实体完整性83
4.3.3引用完整性84
4.3.4一般性约束84
4.4视图84
4.4.1术语85
4.4.2视图的用途85
4.4.3视图的更新86
本章小结86
思考题86
习题87
扩展阅读87
第5章 关系代数与关系演算88
5.1关系代数88
5.1.1一元运算90
5.1.2集合运算91
5.1.3连接运算93
5.1.4除法运算96
5.1.5聚集运算和分组运算96
5.1.6 关系代数运算小结97
5.2 关系演算98
5.2.1 元组关系演算99
5.2.2 域关系演算101
5.3 其他语言103
本章小结103
思考题104
习题104
扩展阅读106
第6章 SQL:数据操作107
6.1 SQL简介108
6.1.1 SQL的目标108
6.1.2 SQL的历史109
6.1.3 SQL的重要性110
6.1.4 术语110
6.2 书写SQL命令110
6.3 数据操作111
6.3.1 简单查询112
6.3.2 查询结果排序(ORDER BY子句)118
6.3.3 使用SQL聚集函数119
6.3.4 查询结果分组(GROUP BY子句) 121
6.3.5 子查询123
6.3.6 ANY和ALL125
6.3.7 多表查询126
6.3.8 EXISTS和NOT EXISTS131
6.3.9 合并结果表(UNION、INTERSECT和EXCEPT)132
6.3.10 数据库更新 133
本章小结136
思考题137
习题137
第7章 SQL:数据定义140
7.1 ISO SQL数据类型141
7.1.1 SQL标识符141
7.1.2 SQL标量数据类型 141
7.2 完整性增强特性145
7.2.1 必须有值的数据145
7.2.2 域约束145
7.2.3 实体完整性146
7.2.4 引用完整性147
7.2.5 一般性约束148
7.3 数据定义148
7.3.1 创建数据库149
7.3.2 创建表(CREATE TABLE)149
7.3.3 修改表定义(ALTER TABLE) 152
7.3.4 删除表(DROP TABLE)153
7.3.5 创建索引(CREATE INDEX) 153
7.3.6 删除索引(DROP INDEX)154
7.4 视图154
7.4.1 创建视图(CREATE VIEW)154
7.4.2 删除视图(DROP VIEW)156
7.4.3 视图分解157
7.4.4 视图的局限性157
7.4.5 视图的可更新性158
7.4.6 WITH CHECK OPTION159
7.4.7 视图的优缺点160
7.4.8 视图物化161
7.5 事务162
7.6 自主访问控制163
7.6.1 授予其他用户权限(GRANT)164
7.6.2 撤销用户权限(REVOKE)166
本章小结167
思考题168
习题168
第8章 高级SQL171
8.1 SQL编程语言171
8.1.1 声明172
8.1.2 赋值173
8.1.3 控制语句173
8.1.4 PL/SQL的异常175
8.1.5 PL/SQL的游标176
8.2 子程序、存储过程、函数和包178
8.3 触发器179
8.4 递归184
本章小结185
思考题185
习题186
扩展阅读186
第9章 对象关系DBMS187
9.1 高级数据库应用188
9.2 RDBMS的缺点191
9.3 在关系数据库中存储对象195
9.3.1 将类映射为关系196
9.3.2 访问关系数据库中的对象197
9.4 对象关系数据库系统简介198
9.5 SQL:2011200
9.5.1 行类型201
9.5.2 用户自定义类型201
9.5.3 子类型和超类型204
9.5.4 用户自定义例程206
9.5.5 多态性207
9.5.6 引用类型和对象标识208
9.5.7 创建表208
9.5.8 数据查询210
9.5.9 集类型211
9.5.10 类型视图214
9.5.11 持久化存储模块215
9.5.12 触发器215
9.5.13 大对象217
9.5.14 递归219
9.6 Oracle中面向对象的扩展219
9.6.1 用户自定义数据类型219
9.6.2 操作对象表223
9.6.3 对象视图224
9.6.4 权限225
本章小结226
思考题226
习题226
扩展阅读227
第三部分 数据库分析与设计
第10章 数据库系统开发生命周期230
10.1 信息系统生命周期231
10.2 数据库系统开发生命周期231
10.3 数据库规划233
10.4 系统定义233
10.5 需求收集与分析234
10.5.1 集中式方法235
10.5.2 视图集成方法235
10.6 数据库设计237
10.6.1 数据库设计方法237
10.6.2 数据建模238
10.6.3 数据库设计的阶段划分238
10.7 DBMS选型240
10.8 应用程序设计243
10.8.1 事务设计243
10.8.2 用户界面设计指南244
10.9 建立原型系统246
10.10 实现246
10.11 数据转换与加载246
10.12 测试247
10.13 运行维护247
10.14 CASE工具248
本章小结249
思考题250
习题250
扩展阅读251
第11章 数据库分析与DreamHome案例研究252
11.1 使用实况发现技术的时机253
11.2 收集实况的类型253
11.3 实况发现技术 254
11.3.1 分析文档资料254
11.3.2 面谈254
11.3.3 观察企业的运作255
11.3.4 研究256
11.3.5 问卷调查256
11.4 使用实况发现技术的实例256
11.4.1 DreamHome案例研究—概述257
11.4.2 DreamHome案例研究—数据库规划260
11.4.3 DreamHome案例研究—系统定义264
11.4.4 DreamHome案例研究—需求收集与分析266
11.4.5 DreamHome案例研究—数据库设计271
本章小结271
思考题271
习题271
扩展阅读272
第12章 实体-联系建模273
12.1 实体类型 274
12.2 联系类型275
12.2.1 联系类型的度276
12.2.2 递归联系278
12.3 属性 279
12.3.1 简单属性和组合属性279
12.3.2 单值属性和多值属性279
12.3.3 导出属性 280
12.3.4 关键字 280
12.4 强实体类型与弱实体类型282
12.5 联系的属性282
12.6 结构化约束283
12.6.1 一对一(1:1)联系283
12.6.2 一对多(1:*)联系284
12.6.3 多对多(*:*)联系285
12.6.4 复杂联系的多重性287
12.6.5 基数约束和参与性约束288
12.7 ER模型的问题289
12.7.1 扇形陷阱289
12.7.2 断层陷阱291
本章小结292
思考题293
习题293
第13章 增强的实体-联系建模295
13.1 特殊化/泛化295
13.1.1 超类和子类296
13.1.2 超类/子类联系296
13.1.3 属性的继承297
13.1.4 特殊化过程297
13.1.5 泛化过程298
13.1.6 特殊化/泛化的约束300
13.1.7 基于DreamHome案例研究的Branch视图特殊化/泛化建模示例301
13.2 聚合304
13.3 组合305
本章小结306
思考题306
习题307
扩展阅读308
第14章 规范化309
14.1 规范化的目的310
14.2 规范化对数据库设计的支持310
14.3 数据冗余与更新异常311
14.3.1 插入异常312
14.3.2 删除异常312
14.3.3 修改异常312
14.4 函数依赖313
14.4.1 函数依赖的特征313
14.4.2 识别函数依赖316
14.4.3 利用函数依赖确定主关键字318
14.5 规范化过程318
14.6 第一范式(1NF)320
14.7 第二范式(2NF)323
14.8 第三范式(3NF)325
14.9 2NF和3NF的一般化定义326
本章小结327
思考题328
习题328
第15章 进一步规范化332
15.1 函数依赖的进一步讨论333
15.1.1 函数依赖的推导规则333
15.1.2 最小函数依赖集334
15.2 Boyce-Codd范式(BCNF)335
15.3 规范化到BCNF的过程小结337
15.4 第四范式(4NF)342
15.4.1 多值依赖342
15.4.2 第四范式的定义343
15.5 第五范式(5NF)343
15.5.1 无损连接依赖343
15.5.2 第五范式的定义344
本章小结345
思考题345
习题346
扩展阅读346
第四部分 方法学
第16章 方法学—概念数据库设计348
16.1 数据库设计方法学简介349
16.1.1 什么是设计方法学349
16.1.2 概念、逻辑和物理数据库设计349
16.1.3 成功设计数据库的关键因素349
16.2 数据库设计方法学概述350
16.3 概念数据库设计方法学352
步骤1 建立概念数据模型352
本章小结363
思考题364
习题364
第17章 方法学—关系模型的逻辑数据库设计366
17.1 关系模型的逻辑数据库设计方法学366
步骤2 建立逻辑数据模型366
本章小结389
思考题390
习题390
扩展阅读392
第18章 方法学——关系数据库的物理数据库设计394
18.1 逻辑数据库设计与物理数据库设计的比较395
18.2 物理数据库设计方法学概述395
18.3 关系数据库的物理数据库设计方法学396
步骤3 转换逻辑数据模型以适应目标DBMS396
步骤4 设计文件组织方法和索引399
步骤5 设计用户视图410
步骤6 设计安全机制410
本章小结411
思考题411
习题412
第19章 方法学——运行时系统的监控与调优413
19.1 逆规范化与可控冗余的引入413
步骤7 考虑引入可控冗余413
19.2 监控系统以提高性能423
步骤8 监控系统和系统调优423
本章小结426
思考题427
习题427
扩展阅读427
第五部分 可选的数据库专题
第20章 安全与管理430
20.1 数据库安全430
20.2 对策—基于计算机的控制433
20.2.1 授权434
20.2.2 访问控制435
20.2.3 视图437
20.2.4 备份和恢复437
20.2.5 完整性438
20.2.6 加密438
20.2.7 RAID(独立磁盘冗余阵列)439
20.3 Microsoft Office Access DBMS的安全机制441
20.4 Oracle DBMS的安全机制443
20.5 DBMS与Web安全445
20.5.1 代理服务器446
20.5.2 防火墙446
20.5.3 报文摘要算法和数字签名447
20.5.4 数字证书447
20.5.5 Kerberos448
20.5.6 安全套接字层和安全HTTP448
20.5.7 安全电子交易和安全交易技术449
20.5.8 Java安全449
20.5.9 ActiveX安全451
20.6 数据管理与数据库管理451
20.6.1 数据管理452
20.6.2 数据库管理452
20.6.3 数据管理与数据库管理的比较453
本章小结453
思考题454
习题455
扩展阅读455
第21章 数据管理中的职业、法律与道德问题457
21.1 定义IT中的法律与道德问题457
21.1.1 定义IT中的道德规范458
21.1.2 道德行为与合法行为的差别458
21.1.3 IT中的道德行为459
21.2 若干法规及其对IT功能的影响460
21.2.1 美国证券交易委员会(SEC)推出的规制国家市场体系(NMS)460
21.2.2 萨班斯-奥克斯利法案、COBIT和COSO 460
21.2.3 健康保险流通和责任法案(HIPAA)462
21.2.4 欧盟数据保护法令1995 463
21.2.5 英国数据保护法令(DPA)1998 464
21.2.6 信息访问法规464
21.2.7 国际银行业—巴塞尔Ⅱ协议465
21.3 建立守法、道德的数据管理文化466
21.3.1 制定本组织内关于法律和道德行为的政策467
21.3.2 行业组织和伦理守则467
21.3.3 制定DreamHome组织内部关于法律和道德行为的政策469
21.4 知识产权470
21.4.1 专利470
21.4.2 版权471
21.4.3 (注册)商标471
21.4.4 软件的知识产权问题471
21.4.5 数据的知识产权问题472
本章小结473
思考题473
习题474
扩展阅读474
第22章 事务管理475
22.1 支持事务处理476
22.1.1 事务的性质478
22.1.2 数据库体系结构478
22.2 并发控制479
22.2.1 并发控制的必要性479
22.2.2 可串行性与可恢复性481
22.2.3 加锁方法487
22.2.4 死锁492
22.2.5 时间戳方法494
22.2.6 多版本时间戳排序497
22.2.7 乐观技术498
22.2.8 数据项的粒度499
22.3 数据库恢复501
22.3.1 恢复的必要性501
22.3.2 事务和恢复502
22.3.3 恢复机制504
22.3.4 恢复技术506
22.3.5 分布式DBMS的恢复508
22.4 高级事务模型508
22.4.1 嵌套事务模型509
22.4.2 Saga510
22.4.3 多级事务模型511
22.4.4 动态重构512
22.4.5 工作流模型513
22.5 Oracle中的并发控制与恢复513
22.5.1 Oracle的隔离级别514
22.5.2 多版本读一致性514
22.5.3 死锁检测516
22.5.4 备份和恢复516
本章小结518
思考题519
习题519
扩展阅读521
第23章 查询处理522
23.1 查询处理概述523
23.2 查询解析525
23.3 查询优化的启发式方法528
23.3.1 关系代数运算的转换规则529
23.3.2 启发式处理策略532
23.4 关系代数运算的代价估算533
23.4.1 数据库的统计信息534
23.4.2 选择运算534
23.4.3 连接运算540
23.4.4 投影运算546
23.4.5 关系代数的集合运算547
23.5 其他可选的执行策略548
23.5.1 流水线549
23.5.2 线性树549
23.5.3 物理算子和执行策略550
23.5.4 缩小搜索空间551
23.5.5 枚举左深树551
23.5.6 语义查询优化553
23.5.7 其他查询优化方法553
23.5.8 分布式查询优化554
23.6 查询处理与优化554
23.7 Oracle的查询优化558
23.7.1 基于规则和基于代价的优化558
23.7.2 柱状图560
23.7.3 查看执行计划562
本章小结563
思考题564
习题564
扩展阅读566
附  录
附录A DreamHome案例研究的用户需求说明568
附录B 其他案例研究572
附录C 可选的ER建模表示法581
附录D 关系数据库设计方法学总结584
附录E 轻量级RDBMS:Pyrrho简介588
在 线 资 源
附录F  文件组织和索引
附录G 何时可将DBMS视为关系型
附录H 商品化DBMS:Access和Oracle
附录I 程序式 SQL
附录J 估算磁盘空间的需求
附录K 面向对象概念介绍
附录L Web脚本示例
附录M 举例查询语言(QBE)
附录N 第三代数据库宣言
附录O Postgres—早期的ORDBMS
参考文献

教学资源推荐
作者: [美]张超(Chao Zhang) 韩家炜(Jiawei Han) 著
作者: William H. Inmon
作者: [美] 翟成祥(Chengxiang Zhai) 肖恩·马森(Sean Massung) 著
参考读物推荐
作者: 孟小峰 编著
作者: [美] 坎南·曼尼(Kannan Mani) 唐·沙利文(Don Sullivan) 著
作者: (美)Koletzke,P. Dorsey,D.P.