现代数据库管理(原书第6版)
作者 : (美)Jeffrey A. Hoffer Mary B. Prescott
译者 : 施伯乐 杨卫东 孙未未 等译
丛书名 : 计算机科学丛书
出版日期 : 2004-09-28
ISBN : 7-111-14517-8
定价 : 59.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 588
开本 : 16开
原书名 : Modern Database Management, Sixth Edition
原出版社: Pearson Education,Inc.
属性分类: 教材
包含CD :
绝版 : 已绝版
图书简介

本书是一本数据库管理的入门教材,内容翔实,示例丰富,由浅入深。本书从数据库管理环境、数据库分析、数据库设计、实现以及高级数据库五个方面全面介绍了数据库的知识。每章之后安排了大量的习题帮助读者梳理知识,掌握基本的概念、原理。本书还包含一个贯穿始终的实例,让读者体验数据库开发的全过程。本书的网站中还包含大量相关资源,有助于读者复习所学知识,拓展知识面。本书适合作为相关专业的本科生、研究生的教材,也适合作为从事数据库方面工作的人员和自学者的参考书。

图书特色

图书前言

本书可作为数据库管理的入门教材。这门课程是信息系统课程的一部分,可在商学院、计算机技术专业和应用计算机科学系讲授。信息技术专业学会(AITP)、美国计算机学会(ACM)以及国际信息处理联合会(IFIPS)的指导方针(例如IS*97)都概述了这种类型的数据库管理课程。本书以前的版本在研究生和本科生的教学以及管理和专业开发项目中,已成功地使用了15年之久。
  本书在第5版的基础上进行了修订。在数据库管理领域,相关技术、管理、方法正以前所未有的速度发生着变化,为了适应这种变化,本书作出了必要的修订。但是,我们也尽量保持前面版本的优点。我们尽所有努力来体现在第4版中介绍的现代数据库管理的特点。
  在第6版中,由于Fred McFadden已退休,减少了相应的工作,所以我们改变了作者的署名顺序。Fred对手稿进行了仔细的审校,并在修订方向上提出了中肯的建议。Fred McFadden是本书之父,本书自始至终都体现着他的思想。

第6版的新增内容
  由于管理实践、数据库设计工具、方法学和数据库技术飞速发展,因此本书对这些领域的内容进行了更新和扩充。本书反映了信息系统领域的主要发展趋势和现代信息系统专业的学生需要掌握的技巧。
  * 在总的客户/服务器体系结构内,设计支持Web的系统并进行程序设计。
  * 大规模数据库和数据仓库。
  * 通过完全的系统建模和设计明确系统需求。
  * 在日益增加的联机环境中,数据库性能的重要性。
  * SQL作为数据库查询的标准。
  在所有章中,新的屏幕图反映了最新的数据库技术,新添加的“Web资源”小节列出了一些网站,这些网站补充本书涵盖的重要主题,为学生提供最新的数据库发展趋势及其背景。本书在结构上的主要变化包括:
  * 介绍面向对象数据库的两章放在一起,并且放在本书的结尾。这样,这些新出现的数据库技术可以完整地呈现给读者,同时不影响其他章的连贯性。
  * 本书对客户/服务器部分的改动很大,现在强调了因特网、内部网、外部网作为客户/服务器体系结构的实现。
  * SQL的讨论更加深入并用两章加以介绍。
  * 重写了数据仓库这一章的大部分内容,并前移到本书的实现部分,体现了这种数据库的爆炸性增长。
  下面逐章给出本书的主要变化。每一章的描述说明了该章的目的,以及相对于第5版所作的变化和修订。

  第一部分 数据库管理语境
  * 第1章  该章讨论了数据库在组织中的作用,并概述了本书后面各章的主要主题。该章介绍了修正的数据库的分类模式,在第5版中分为四类,即个人、工作组、部门和企业,现在引入了因特网、内部网、外部网数据库。对企业数据库的介绍进行了扩展,包括作为ERP系统和数据仓库的一部分的数据库。该章更新了数据库技术从数据库前的文件到对象-关系数据库以及支持Web系统的历史的讨论。该章继续给出数据库技术和传统文件处理系统的比较。
  * 第2章  该章在更为宽泛的信息系统开发的语境下,详细讨论了数据库开发的作用,解释了数据库开发的结构化生命周期法和原型法。该章还讨论数据库开发的重要问题,包括数据库开发中的各种人员的管理和理解数据库结构及技术的框架。该章还强调了数据库开发中的信息工程方法学,包括企业数据模型的作用。该章内容与学生在系统分析和设计课程中所学内容是一致的。

第二部分 数据库分析
  * 第3章  该章给出了一个新标题,深入介绍如何用实体-联系模型进行概念数据建模。新的章名反映了该章强调实体-联系模型的动机,即准确描述影响数据库设计的业务规则。该章包括一个全新的小节,介绍业务规则建模的最新方法,该节中的内容详细解释了开发含义明确的实体-联系图的本质部分—如何命名和定义数据模型元素。有一个新的小节解决了很多学生在学习数据建模时所面临的一个问题:是将数据表示为属性还是表示为联系。该章继续从简单的例子过渡到复杂的例子,并以一个易于理解的松谷家具公司的E-R图结束。
  * 第4章  该章讲述几种高级的实体-联系模型的结构。该章的新内容是对实体聚簇的介绍,实体聚簇是表示实体-联系图的简单版本的一种方法。该章基于最新的指导原则,更新了GUIDE业务规则方法的内容,给出了这些指导原则的结构,这些指导原则有利于学生的理解。本章继续深入讨论超类型/子类型联系。

第三部分 数据库设计
  * 第5章  该章论述将概念数据模型转化为关系数据模型的过程。该章对外键特征进行了更详细的讨论,并介绍了非智能企业键的重要概念。该章也强调了企业键(也称为数据仓库的代理键)的概念,因为面向对象的一些概念被移植到关系数据库中。该章继续强调关系数据模型的基本概念和数据库设计人员在逻辑设计过程中的角色。
  * 第6章  该章论述获得有效数据库设计的关键步骤。该章强调改善数据库性能的方法。参考Oracle和其他DBMS使用的改善数据库处理性能的特定技术,对这几节进行了扩充。该章扩展了对索引的讨论,使其包括索引类型的描述(主索引、辅索引、联结索引和散列索引表)以更广泛地适用于数据库技术,并改善查询速度。该章对RAID的讨论作了更新,以反映该重要技术的最新思想。该章继续强调物理设计过程及过程的目标。

第四部分 实现
  * 第7章  该章全面介绍了目前大部分DBMS使用的SQL(SQL-92),并介绍了最新的SQL-99标准中的变化。第6版的主要变化是扩展了整个SQL的内容并在该章和下一章中介绍。该章包括了更多的SQL代码例子,大部分代码使用了SQL-99中的语法,一些代码使用了Oracle 8i的语法。本书对视图的描述进行了修改,包括动态视图和物化视图。第7章解释了创建和维护数据库的SQL命令以及编写单表查询的方法。该章继续使用松谷家具公司案例说明各种实际查询和查询结果。
  * 第8章  这是新的一章,通过多表查询、事务完整性、数据字典、触发器、存储过程、在其他编程语言程序中的嵌入式SQL继续解释SQL。该章包括各种形式的OUTER JOIN命令,说明如何在导出表中存储查询结果,如何用CAST命令在不同数据类型之间转换数据以及在SQL中作条件处理的CASE命令。该章也讨论SQL-99作为数据仓库的数据访问工具所需的联机分析处理(OLAP)特性。和第7章一样,SQL代码的例子大部分使用SQL-99中的语法,一些使用Oracle 8i的语法。该章继续清晰地解释SQL中最为复杂和功能强大的概念:子查询和相关子查询。
  * 第9章  该章结合第5版的两章重写了大部分内容,目的是对客户/服务器的体系结构、应用程序、中间件和在当今数据库环境中对客户机数据库的访问进行深入讨论。该章为本书后面的关于因特网的部分提供了技术基础。该章对许多图进行了更新,以便更清楚地说明在多层网络中所能做的选择,包括应用和数据库服务器,不同层次间的数据库分布处理,以及使用浏览器的瘦客户,该章还包括一些重要的新主题,可在Web中使用的数据库的安全性、ODBC和JDBC连接(包括访问JDBC兼容数据库的详细的代码例子)。该章继续讨论三层客户/服务器体系结构,应用分割,大型主机的作用,并行计算机体系结构的使用,中间件以及Microsoft Access 2000的按例查询。同时论述和比较了对称多处理(SMP)和大规模并行处理体系结构。
  * 第10章  这是新的一章,目的是描述使用Web的应用到数据库的连接。该章包括对脚本语言和脚本语言中的嵌入式SQL的讨论,并包括了一个简单购物车应用程序,它用ASP 和ColdFusion两种方法实现(在本书的网站中可以找到所有代码)。该章还讨论因特网相关的术语和连接网页和数据库必须理解的概念(如防火墙、代理服务器、静态和动态网页、HTML/SGML/XML/XHTML语言、层叠样式表、公共网关接口以及servlet)。该章解释了Web服务器的作用和数据库连接的服务器端扩展,同时涵盖Web的安全性问题和隐私问题。
  * 第11章  在这一章中,修订了第5版中的大部分内容。目的是描述数据仓库的基本概念。数据仓库被许多企业认为是取得竞争优势的关键因素,是数据仓库中特有的数据库设计活动和结构。该章的主题包括:各种可选的数据仓库体系结构、数据转换和数据一致的技术,以及用于数据仓库的多维数据模型(星型模式)。定义了运作数据存储、依赖数据集市、独立数据集市、逻辑数据集市以及各种形式的联机分析处理。该章最大的变化是讨论数据集市的数据库设计的几节内容,解释和举例说明了代理键、事实表粒度、日期和时间建模、维的一致性,以及帮助者/层次/引用表,也讨论了OLAP和数据挖掘的用户界面。

第五部分 数据库的高级主题
  * 第12章  该章充分讨论数据管理和数据库管理的重要性,并论述执行这些功能会出现的一些关键问题;强调数据管理和数据库管理的方法和改变的角色,着重强调调整数据库和查询,以提高性能。该章充分讨论数据库备份过程、数据安全威胁和响应,并详细讨论数据质量的管理。为更好地了解恢复和并发控制,该章加入了对事务完整性的讨论。该章继续强调在将管理的数据作为企业资源时,数据和数据管理的重要性。
  * 第13章  该章介绍分布式数据库的作用、技术以及数据库设计时机。该章扩充和更新对分布数据库的目标和权衡策略、数据复制策略、选择数据分布策略的因素、分布式数据库供应商和产品。该章及第12章充分讨论了数据库并发访问控制。
  * 第14章  该章采用Booch、Jacobson和Rumbaugh的统一建模语言介绍面向对象建模。该章进行了很大的修改以介绍最新UML表示方法,使用UML提供的行业标准的符号表示类和对象。该章继续强调基本OO概念,诸如继承和聚合,并包括扩展的松谷家具公司的OO数据模型的例子。
  * 第15章  该章的目的是阐述如何将面向对象模型(在第14章中介绍)转换为面向对象数据库管理系统的类、对象、关系和操作定义。该章也介绍了ODBM的标准语言,即对象定义语言(ODL)和对象查询语言(OQL)的最新格式,包含使用ODL描述的松谷家具公司数据库的面向对象数据库定义。该章最后介绍了ODBM的主要供应商和产品。

附录
  本书包括四个附录,目的是让希望学习这些主题的读者能够进一步了解相关内容。
  * 附录A  这个新的附录满足了很多读者的需求,即如何将本书使用的E-R表示方法转换为课堂使用的CASE工具或DBMS所用的表示方法。该附录比较了Visible Analyst 7.4、ERwin 3.5.2、Microsoft Access 2000和Oracle Designer 6.0所使用的表示方法。附录中的表和插图说明对于同一结构,每一个流行软件包所使用的表示方法。
  * 附录B  该附录描述(使用例子)Boyce-Codd范式和第四范式。该附录还增加了关于BCNF的例子,说明如何处理交叠候选键。
  * 附录C  该附录描述了数据库实现常用的几种数据结构。主题包括指针、栈、队列、排序表、反向表和树。
  * 附录D  该附录描述了对象-关系数据库管理系统(ORDBMS)。主题包括ORDBMS的特性、扩展的SQL、对象-关系方法的优点,以及ORDBMS供应商和产品的总结。

教学
  本书在各章的最后进行一系列补充和改进,为用户提供了更广泛、更丰富的选择。最重要的改进如下:
  1) 复习问题  该节包括与问题和练习中的问题配套的练习。此外,还加入很多新的问题以巩固该章新增加的内容。
  2) 问题和练习  该节在每一章都有所扩展,并包含很多新的问题与练习,以支持更新的章节内容。
  3) 应用练习  该节提供一套小案例,可以分配给每个学生或学生小组来完成。应用练习的范围从指导的应用练习到因特网搜索以及其他类型的研究练习。
  4) 项目案例  以山景社区医院案例作为学生项目,本书已经为新的和扩充的章创建了新的案例。在每一章,项目案例都以与该章内容相关的一个简短的项目描述开始,然后给出一系列需要每个学生或学生小组完成的项目问题和练习。该项目给学生提供了掌握他们学习的概念和工具的有效手段。
  5) Web资源  每一章都包含补充该章内容的网站的列表和有用的信息。这些网站涵盖了在线的文献、厂商、电子出版物、行业标准组织以及其他资源。这些网站能够使学生和教师发现更新的产品信息,本书出版后出现的革新,深入理解主题的背景信息,并可作为编写研究论文的资源。
  我们同时更新了教学特色,以使学生和教师广泛接受第6版。这些特色如下:
  1) 学习目标  出现在每一章的开始以便让学生了解将要从本章学习的主要概念和技巧。学生在准备作业和考试时能够利用学习目标很好地进行复习。
  2) 本章介绍和总结  包含每一章的主要概念和相关章节的链接内容,为学生提供关于课程的全面的概念框架。
  3) 本章复习  包括问题回顾、问题与练习、前面讨论的应用练习,也包含关键术语以测验学生对基本概念、基本事实和重要问题的掌握程度。
  4) 不断出现的术语  在本书的讨论中,会出现许多关键术语的定义。除了在正文中解释它们外,也在本书最后的术语表中给出了这些术语的定义,附录中同时包括数据库管理系统中常用的术语缩写。

组织
  我们鼓励教师定制本书内容以满足学生学习的需求。本书的模块化的特点,广泛的内容,详细的说明,以及对高级主题和新问题的涵盖使得定制更为容易。对现有文献和网站的很多引用使教师可以列出补充的读物或在本书提供的资料以外开展讨论。几个高级主题包含在附录中,教师可以根据需要讲授或略过这些主题。
  本书的模块化的特点使教师可以略过某些章节或以不同的顺序进行教学。例如,希望重点讲授数据建模的教师可以讲授关于面向对象数据建模的第14章以及第3章和第4章(也可以不讲授这两章)。希望仅教授基本实体-联系概念(但不包括扩展的实体-联系模型和业务规则)的教师可以跳过第4章。

补充包
  本书英文原书配有下列教师资源:
  教师资源CD-ROM  教师资源CD-ROM具有下列特色:
  * Instructor誷 Resource Manual  提供各章的教学目标、教师思想以及复习问题、问题和练习、应用练习、项目案例问题的答案。Instructor誷 Resource Manual也可以打印出来或从本书网站上的“Faulty Area”中获取。
  * Test Item File或Windows PH Test Manager 包括一套综合的测试问题,其中有多项选择、真假判断,以短问题格式按照问题的难易程度分级,并且按照原书的页码和标题顺序出现。Test Item File可以打印、在IR CD-ROM上以Microsoft Word格式存储并且可用于计算机化Prentice Hall测验管理工具。Test Manager是用于测验和评估的综合的工具集。使教师很容易创建和发布课程的测验,可用通过打印并以传统的方式发布或通过局域网服务器在线发布。Test Manager提供屏幕向导以帮助读者使用该程序,并提供充分的技术支持。
  * PowerPoint幻灯片  突出关键的术语和概念。教师可以加入自己的幻灯片或编辑现有的幻灯片对其进行定制。
  * 图像库  按章组织的文本。其中包括可以使用的所有的图、表和屏幕快照。
  * 伴随的数据库  为本书编写的两个版本的松谷家具公司案例。一个版本匹配于本书的样例。另一个版本中包含用Visual Basic编写的表单、报表和模块。该版本并不完全,这样学生可以创建所缺的表、额外的表、报表和模块。其中也包括山景社区医院的初步版本。数据库中还包括Oracle脚本,用于创建表,插入松谷家具公司和山景社区医院的样例数据。南佛罗里达大学的Robert Lewis为我们创建了数据集和应用。该数据库文件在教师资源CD-ROM中以及本书网站的教师区内可以找到。
  本书的网站  在本书的网站(http://www.prenhall.com/hoffer)中包含下列内容:
  1) 可用于Access和Oracle的全新的关于松谷家具公司案例和山景社区医院案例的数据集和样例数据库应用。这部分内容在安全的Instructor誷 Area内提供。
  2) 带有多项选择、判断、讨论问题的交互学习指导。学生在回答问题后可得到自动反馈。在学生完成测验后,讨论问题的回答、多项选择的结果、真假问题的判断都可以通过电子邮件发给教师。
  3) Web Resources模块包括本书中各章后引用的Web链接,以帮助学生通过Web进一步探索数据库管理的主题。
  4) 网站的学生区包括了每一章的PowerPoint演示。
  5) 按字母顺序排列和按章节排列的完整的术语表,以及术语缩写。
  6) 网站中加入了新的案例研究。一些案例可作为学期的课程设计。其他一些可作为教学案例。随着时间的推移,还会加入新的案例。

致谢
  我们感谢众多对本书第6版的编写工作做出贡献的人们。首先,感谢本书的审阅者,感谢他们的详细建议、独特的观点以及独树一帜的教学风格。由于本书在第5版的基础上进行了大量改动,所以他们提供的对内容深度和主题的分析非常关键。他们是:
Cyrus Azarbod,州立曼凯托大学
Willard Baird,Progress Telecom公司
Michael Barrett,宾州克拉里恩大学
Douglas Bock,南伊利诺斯大学爱德华兹维尔分校
Sue Brown,印第安纳大学
Traci Carte,俄克拉荷马大学
I-Shien Chien,克赖顿大学
Kevan Croteau,Francis Marion大学
Sergio Davalos, Portland, OR
Monica Garfield,南佛罗里达大学
Mark Gillenson,孟菲斯大学
Bernard Han,华盛顿州立大学
James Harris, Francis Marion大学
Myron Hatcher,加利福尼亚州立大学弗雷斯诺分校
James Henson, Barry大学
Chang Hsieh,南密西西比大学
Constance Knapp,佩斯大学
William Korn,威斯康星大学欧克莱尔分校
Ram Kumar,北卡罗来纳大学夏洛特分校
Robert Lewis,南佛罗里达大学
Kathleen Moser,艾奥瓦州立大学
Heidi Owens,州立波特兰大学
David Paradice, Bryan, TX
Fred Prose, Phoenix, AZ
John Russo,Wentworth理工学院
Siva Sankaran,加利福尼亚州立大学诺斯里奇分校
Werner Schenk,罗切斯特大学
Richard Segall,阿肯色州立大学
Maureen Thommes,Bemidja州立大学
Heikki Topi,本特雷学院
Chelley Vician,密歇根技术大学
Charles Wertz, Buffalo州立大学
Surya Yadav, Lubbock, TX
Ahmed Zaki,威廉和玛丽学院
Han Zhang,佐治亚理工学院
  我们从业内人士那里也获取了极好的建议,他们是Todd Walter、Carrie Ballinger、Rob Armstrong、Dave Schoeff(他们都就职于NCR公司)、Patty Melanson、Kelly Carrigan、Joanna Frankenberry(他们都就职于Catalina Marketing)、Don Berndt(南佛罗里达大学)、Bernadette Lynch(Oracle公司)以及Michael Alexander(Open Access技术公司)。
我们还要感谢华盛顿州立大学的Joe Valacich和佛罗里达州立大学的Joey George,感谢他们对数据库开发与整个信息系统开发之间关系的独特观点给我们带来的帮助。他们的严谨有助于本书与系统分析和设计课程使用的书籍保持一致,如Hoffer、George和Valacich所著的Modern Systems Analysis and Design,Valacich、George和Hoffer(Prentice Hall)所著的Essentials of Systems Analysis and Design。
  我们也感谢威斯康星大学密尔沃基分校的Atish Sinha,他编写了关于面向对象数据库建模和实现的第14章和第15章的原始版本。我们衷心地感谢他所做的工作:使用松谷家具公司和山景社区医院案例将这两章集成到本书中,编写用于比较OO方法和实体-联系和关系的方法的练习,以及为所有章节提供的建议。
  本书包含更多的样例数据库应用,相对于前面任何版本,教师和学生更容易利用这些实例进行学习。我们感谢南佛罗里达大学的Robert Lewis编写的松谷家具公司和山景社区医院案例。同时感谢Open Access技术公司的Michael Alexander所编写的因特网购物车的ASP和ColdFusion版本。
  南佛罗里达大学的Laura Biasci撰写了附录A中的四个数据建模CASE工具符号的比较。我们感谢他工作到深夜并牺牲周末,在他的计算机上运行四种软件,因此,他能够比较并给出不同的符号约定。
  我们也非常感谢Prentice Hall的同事们在整个项目期间的支持和指导。尤其感谢主编Bob Horan整理本书的规划,副主编Lori Cerreto保证每一部分都是完整的,感谢制作编辑Mike Reynolds、高级营销经理Sharon Turkovich,以及营销助理Jason Smith。特别是University Graphics Production Services的Terri O誔rey,他出色的编辑管理是本书出版的保证。
  Jeff和Mary为能够与Fred McFadden一起工作并向他学习而兴奋。Fred是本书之父,本书清晰的结构、语言的通俗易懂、精心的组织,以及主流、现代的内容都与他的工作密不可分。Fred以学生为本的观点和严谨的著述是我们的榜样。 Fred对第6版帮助极大,并极力支持这次修订,我们非常感谢他。
  最后,感谢我们的伴侣。对他们的感谢难以言表,因为他们忍受了许多孤独的夜晚和周末。我们特别感谢Patty Hoffer的奉献,作为本书作者的伴侣,从第1版到第6版,她给予了极大的支持。现在,在本书的两个版本中,Larry Prescott给予了支持。本书的成功应归功于他们的忍耐、鼓励和爱。但是,对本书任何内容的任何错误,我们独自承担责任。

Jeffrey A. Hoffer
Mary B. Prescott
Fred R. McFadden

译者简介

施伯乐 杨卫东 孙未未 等译:暂无简介

译者序

数据库管理在信息化建设中具有非常重要的地位,是计算机相关专业的必修课程。计算机专业人员应该扎实地掌握数据库管理的概念、技术和方法。本书作为本科生和研究生的教材,在国际上已经成功地使用了15年。本书内容全面,由浅入深,每一章后面都配有丰富的练习,并且有一个贯穿全书的项目案例。利用每一章后面的练习和这个完整的项目案例,读者可以逐步掌握信息系统开发的理论知识和实践技能。
  近十几年来,计算机技术和信息系统领域的技术迅猛发展。本书已经是第6版,在这一版中,作者尽力体现了信息系统的相关技术和方法所发生的变化,如支持Web的信息系统设计和程序设计、大规模数据库和数据仓库、通过深入的系统建模和设计来说明系统需求(如实体-联系模型,扩展的实体-联系模型和面向对象的数据建模)以及与日俱增的联机环境中数据库性能的关键性等。
  本书的翻译是在复旦大学施伯乐教授的统一组织和管理下完成的,多位教师参与了本书的翻译工作。陈金海教授(第1章、第2章)、李晓荣博士(第3章)、杨卫东副教授(第4章)、谈子敬博士(第5章、第6章)、孙未未副教授(第7章、第8章、第9章)、刘卉博士(第10章、第11章)、方锦成副教授(第12章、第13章)、丁保康副教授(第14章、第15章、附录C和附录D)承担了主要的翻译工作。此外,杨卫东副教授统稿并翻译了本书的前言、缩略语表、附录A和附录B,孙未未副教授和李晓荣博士参与了部分章节的整理、补译、校对和修改工作。
  特别感谢机械工业出版社的编辑杨海玲、朱及其同事,他们付出的辛勤劳动和提出的许多意见,尤其是朱编辑细致、严谨的工作,这些都是本书顺利出版的保证。
  由于译者水平有限,时间紧迫,难免有翻译不当之处,希望读者批评指正。

译 者

图书目录

第一部分 数据库管理语境
第1章  数据库环境 2
1.1  学习目标 2
1.2  引言 2
1.3  基本概念和定义 3
1.3.1  数据 3
1.3.2  数据与信息 3
1.3.3  元数据 4
1.4  传统文件处理系统 5
1.4.1  松谷家具公司的文件处理系统 5
1.4.2  文件处理系统的缺点 6
1.5  数据库方法 7
1.6  数据库应用的范围 11
1.6.1  个人数据库 12
1.6.2  工作组数据库 13
1.6.3  部门数据库 13
1.6.4  企业数据库 14
1.6.5  因特网、内部网和外部网数据库 16
1.6.6  数据库应用小结 16
1.7  数据库方法的优点 17
1.7.1  程序-数据独立性 17
1.7.2  数据冗余度最小 17
1.7.3  改善数据一致性 17
1.7.4  改善数据共享 17
1.7.5  提高应用开发的生产率 17
1.7.6  标准的实施 18
1.7.7  改善数据质量 18
1.7.8  改善数据可访问性和响应性 18
1.7.9  减少程序维护 18
1.7.10  关于数据库优点的告诫 18
1.8  数据库方法的成本和风险 18
1.8.1  新的专门人员 19
1.8.2  安装、管理成本和复杂性 19
1.8.3  转换成本 19
1.8.4  需要清晰备份和恢复 19
1.8.5  组织冲突 19
1.9  数据库环境的组成部分 19
1.10  数据库系统的演变 20
1.10.1  20世纪60年代 21
1.10.2  20世纪70年代 21
1.10.3  20世纪80年代 21
1.10.4  20世纪90年代 22
1.10.5  2000年以来 22
本章小结 22
本章复习 23
项目案例:山景社区医院 27
第2章  数据库开发过程 29
2.1  学习目标 29
2.2  引言 29
2.3  信息系统开发中的数据库开发 30
2.3.1  信息系统体系结构 30
2.3.2  信息工程 31
2.3.3  信息系统规划 31
2.4  数据库开发过程 34
2.4.1  系统开发生命周期 35
2.4.2  信息系统开发的其他方法 38
2.4.3  计算机辅助软件工程的作用和信息库 39
2.5  数据库开发中的人员管理 40
2.6  数据库开发的三层模式体系结构 41
2.7  三层数据库定位体系结构 44
2.8  为松谷家具公司开发一个数据库应用 45
2.8.1  匹配用户需求和信息系统体系结构 46
2.8.2  分析数据库需求 48
2.8.3  设计数据库 50
2.8.4  使用数据库 52
2.8.5  管理数据库 54
本章小结 54
本章复习 55
项目案例:山景社区医院 60
第二部分 数据库分析
第3章  组织中的数据建模 68
3.1  学习目标 68
3.2  引言 68
3.3  根据组织中的规则建立数据模型 69
3.3.1  业务规则概述 70
3.3.2  确定业务规则的范围 70
3.3.3  数据命名与定义 71
3.4  E-R模型 74
3.4.1  E-R图示例 74
3.4.2  E-R模型符号 76
3.5  实体-联系模型的结构 77
3.5.1  实体 77
3.5.2  属性 81
3.6  联系 86
3.6.1  联系的基本概念和定义 87
3.6.2  联系的度 88
3.6.3  属性还是联系 92
3.6.4  基数约束 92
3.6.5  建立依赖于时间的数据模型 96
3.6.6  实体之间的多种联系 98
3.6.7  命名和定义联系 99
3.7  E-R建模的例子:松谷家具公司 100
3.8  松谷家具公司的数据库处理 101
3.8.1  显示产品信息 103
3.8.2  显示顾客信息 103
3.8.3  显示顾客订单状态 103
3.8.4 显示产品销售 105
本章小结 105
本章复习 106
项目案例:山景社区医院 113
第4章  增强型E-R模型和业务规则 115
4.1  学习目标 115
4.2  引言 115
4.3  超类型和子类型的表示 116
4.3.1  基本概念和表示方法 116
4.3.2  特化和概化的表示 119
4.4  指定超类型/子类型联系之间的约束 122
4.4.1  指定完备性约束 122
4.4.2  指定不相交约束 124
4.4.3  定义子类型鉴别符 125
4.4.4  定义超类型/子类型层次 127
4.5  增强型EER建模示例:松谷家具公司 128
4.6  实体聚簇 131
4.7  再论业务规则 134
4.7.1  业务规则的分类 135
4.7.2  陈述结构断言 136
4.7.3  陈述动作断言 137
4.7.4  表示和强制业务规则执行 138
4.7.5  标识和测试业务规则 140
本章小结 141
本章复习 142
项目案例:山景社区医院 146
第三部分 数据库设计
第5章  逻辑数据库设计和关系模型 150
5.1  学习目标 150
5.2  引言 150
5.3  关系数据模型 150
5.3.1  基本定义 151
5.3.2  数据库示例 152
5.4  完整性约束 154
5.4.1  域约束 154
5.4.2  实体完整性 155
5.4.3  参照完整性 155
5.4.4  动作断言 156
5.4.5  创建关系表 156
5.4.6  良构关系 157
5.5  将EER图转化为关系 158
5.5.1  第1步:映射常规实体 159
5.5.2  第2步:映射弱实体 161
5.5.3  第3步:映射二元联系 162
5.5.4  第4步:映射关联实体 164
5.5.5  第5步:映射一元联系 166
5.5.6  第6步:映射三元(多元)联系 168
5.5.7  第7步:映射超类型/子类型联系 170
5.6  规范化介绍 171
5.6.1  规范化的步骤 171
5.6.2  函数依赖和键 173
5.7  基本范式 174
5.7.1  第一范式 174
5.7.2  第二范式 174
5.7.3  第三范式 175
5.7.4  规范化概要数据 177
5.8  合并关系 177
5.8.1  例子 178
5.8.2  视图集成产生的问题 178
5.9  定义关系键的最后步骤 179
本章小结 180
本章复习 183
项目案例:山景社区医院 189
第6章  物理数据库设计和性能 190
6.1  学习目标 190
6.2  引言 190
6.3  物理数据库设计步骤 191
6.4  设计字段 193
6.4.1  选择数据类型 193
6.4.2  数据完整性控制 194
6.5  设计物理记录和非规范化 195
6.6  设计物理文件 201
6.6.1  指针 201
6.6.2  文件组织 202
6.6.3  文件组织小结 208
6.6.4  聚簇文件 209
6.6.5  设计文件控制 210
6.7  索引的使用和选择 210
6.7.1  创建惟一键索引 210
6.7.2  创建辅键索引 210
6.7.3  何时使用索引 211
6.8  RAID:通过并行处理来改善文件访问的性能 212
6.9  数据库设计 216
6.10  优化查询性能 219
6.10.1  并行查询处理 219
6.10.2  对自动查询优化的重载 220
6.10.3  选择数据块大小 220
6.10.4  在磁盘控制器间平衡I/O操作 221
6.10.5  设计良好查询的建议 221
本章小结 223
本章复习 224
项目案例:山景社区医院 229
第四部分 实  现
第7章  SQL 233
7.1  学习目标 233
7.2  引言 233
7.3  SQL标准的发展 234
7.4  数据库体系结构中SQL的作用 234
7.5  SQL环境 236
7.6  用SQL定义数据库 239
7.6.1  SQL数据库定义 239
7.6.2  创建表 240
7.6.3  使用和定义视图 241
7.6.4  创建数据完整性控制 245
7.6.5  修改表的定义 246
7.6.6  删除表 246
7.7  插入、更新和删除数据 246
7.7.1  批量输入 247
7.7.2  删除数据库内容 247
7.7.3  修改数据库内容 248
7.8  RDBMS中的内模式定义 248
7.9  处理单个表 249
7.9.1  SELECT语句的子句 249
7.9.2  使用表达式 251
7.9.3  使用函数 251
7.9.4  使用通配符 252
7.9.5  比较运算符 253
7.9.6  使用布尔运算符 253
7.9.7  范围 254
7.9.8  DISTINCT 255
7.9.9  IN 和 NOT IN列表 256
7.9.10  排序结果:ORDER BY子句 257
7.9.11  分类结果:GROUP BY子句 258
7.9.12  通过分类限定结果:HAVING子句 258
本章小结 259
本章复习 260
项目案例:山景社区医院 266
第8章  高级SQL 267
8.1  学习目标 267
8.2  引言 267
8.3  处理多表 267
8.3.1  等值联结 268
8.3.2  自然联结 269
8.3.3  外联结 269
8.3.4  并联结 270
8.3.5  例子:涉及4张表的多重联结 271
8.3.6  子查询 271
8.3.7  相关子查询 274
8.3.8  使用导出表 275
8.3.9  组合查询 276
8.3.10  条件表达式 277
8.4  保证事务完整性 277
8.5  数据字典工具 279
8.6  SQL-99对SQL的增强和扩展 280
8.6.1  已建议加入的分析函数 280
8.6.2  程序设计能力扩展 281
8.7  触发器和例程 282
8.7.1  触发器 283
8.7.2  例程 283
8.8  嵌入式SQL和动态SQL 285
本章小结 286
本章复习 286
项目案例:山景社区医院 290
第9章  客户/服务器数据库环境 291
9.1  学习目标 291
9.2  引言 291
9.3  客户/服务器结构 292
9.3.1  文件服务器体系结构 292
9.3.2  文件服务器的局限性 293
9.3.3  数据库服务器体系结构 294
9.4  三层体系结构 295
9.5  分割一个应用 296
9.6  大型主机的作用 297
9.7  使用并行计算机体系结构 298
9.7.1  多处理器硬件结构 299
9.7.2  与业务有关的SMP和MPP结构的使用 301
9.8  使用中间件 302
9.9  建立客户/服务器的安全性 303
9.10  客户/服务器的问题 305
9.11  客户端应用程序的数据库存取 306
9.12  使用按例查询 307
9.12.1  QBE的历史和重要性 307
9.12.2  QBE:基本知识 308
9.12.3  选择合格的记录 310
9.12.4  自联结 311
9.12.5  让一个查询基于另一个查询 313
9.12.6  使用SQL传递查询 313
9.13  使用ODBC来链接存储在数据库服务器上的外部表 315
9.14  使用JDBC来链接存储在数据库服务器上的外部表 317
9.15  在客户端应用程序中使用VBA 321
本章小结 322
本章复习 323
项目案例:山景社区医院 328
第10章  因特网数据库环境 330
10.1  学习目标 330
10.2  引言 330
10.3  因特网和数据库连接 331
10.3.1  因特网环境 332
10.3.2  术语 333
10.4  常见的因特网体系结构的组成 334
10.4.1  与因特网相关的语言 334
10.4.2  服务器端扩展 335
10.4.3  Web服务器接口 336
10.4.4  Web服务器 337
10.4.5  客户端扩展 337
10.5  Web-数据库工具: ColdFusion与ASP 338
10.5.1  ASP示例 338
10.5.2  ColdFusion示例 342
10.5.3  嵌入式SQL 345
10.6  管理Web数据 347
10.6.1  Web安全性问题 347
10.6.2  隐私问题 349
10.6.3  因特网技术的更新速度问题 350
本章小结 351
本章复习 352
项目案例:山景社区医院 355
第11章  数据仓库 356
11.1  学习目标 356
11.2  引言 356
11.3  数据仓库的基本概念 357
11.3.1  数据仓库的历史简介 358
11.3.2  为什么需要数据仓库 358
11.4  数据仓库的体系结构 361
11.4.1  一般的两层体系结构 361
11.4.2  独立数据集市的数据仓库环境 362
11.4.3  依赖数据集市和运作数据存储的体系结构 363
11.4.4  逻辑数据集市和主动仓库体系结构 365
11.4.5  三层数据体系结构 366
11.5  数据仓库中数据的若干特征 368
11.5.1  状态数据与事件数据 368
11.5.2  临时数据与周期数据 368
11.5.3  一个临时数据和周期数据的例子 369
11.6  调和数据层 370
11.6.1  进行ETL之后的数据特征 371
11.6.2  ETL过程 371
11.7  数据转换 375
11.7.1  数据转换函数 375
11.7.2  支持数据调和的工具 377
11.8  导出数据层 379
11.8.1  导出数据的特征 379
11.8.2  星型模式 380
11.8.3  星型模式的变体 385
11.8.4  维表的规范化 387
11.8.5  缓慢变化的维度 389
11.9  用户界面 390
11.9.1  元数据的作用 390
11.9.2  查询工具 391
11.9.3  联机分析处理工具 391
11.9.4  数据挖掘工具 392
11.9.5  数据可视化 394
本章小结 394
本章复习 395
项目案例:山景社区医院 401
第五部分  数据库的高级主题
第12章  数据管理与数据库管理 404
12.1  学习目标 404
12.2  引言 404
12.3  数据管理员与数据库管理员的作用 405
12.3.1  传统的数据管理 405
12.3.2  传统的数据库管理 405
12.3.3  数据管理与数据库管理方法的演化 405
12.3.4  数据管理方法的演化 407
12.4  企业数据的建模 410
12.5  数据库的规划 410
12.6  数据安全性的管理 411
12.6.1  数据安全性的威胁 411
12.6.2  视图 413
12.6.3  完整性控制 414
12.6.4  授权规则 415
12.6.5  用户自定义过程 416
12.6.6  加密 416
12.6.7  认证模式 417
12.7  数据库的备份 417
12.7.1  基本的恢复工具 417
12.7.2  恢复与重启动过程 419
12.7.3  数据库故障的类型 422
12.8  并发访问的控制 424
12.8.1  更新丢失的问题 424
12.8.2  可串行性 425
12.8.3  加锁机制 425
12.8.4  版本设置 428
12.9  数据质量的管理 429
12.9.1  安全性策略与灾难恢复 430
12.9.2  人员控制 431
12.9.3  物理访问控制 431
12.9.4  维护控制 431
12.9.5  数据保护与私密性 431
12.10 数据词典与信息库 431
12.11 数据库性能调整概述 433
12.11.1  安装DBMS 434
12.11.2  内存利用 434
12.11.3  输入/输出争用 434
12.11.4  CPU利用 435
12.11.5  应用软件调整 435
本章小结 435
本章复习 436
项目案例:山景社区医院 442
第13章  分布式数据库 443
13.1  学习目标 443
13.2  引言 443
13.3  数据库实施分布式处理的策略 447
13.3.1  数据复制 448
13.3.2  水平分割 450
13.3.3  垂直分割 451
13.3.4  操作组合 452
13.3.5  选择正确的数据分布策略 453
13.4  分布式DBMS 454
13.4.1  位置透明性 455
13.4.2  复制透明性 457
13.4.3  故障透明性 457
13.4.4  提交协议 457
13.4.5  并发透明性 458
13.4.6  查询优化 459
13.4.7  分布式DBMS的发展 461
13.5 分布式数据库管理系统产品 462
本章小结 463
本章复习 464
项目案例:山景社区医院 469
第14章  面向对象数据建模 470
14.1  学习目标 470
14.2  引言 470
14.3  统一建模语言 472
14.4  面向对象数据建模 472
14.4.1  表示对象和类 472
14.4.2  操作的类型 474
14.4.3  表示关联 475
14.4.4  表示关联类 478
14.4.5  表示导出属性、导出关联和导出角色 480
14.4.6  表示概化 480
14.4.7  解释继承和重载 485
14.4.8  表示多重继承 486
14.4.9  表示聚合 486
14.5  业务规则 489
14.6  对象建模实例:松谷家具公司 489
本章小结 492
本章复习 493
项目案例:山景社区医院 498
第15章  面向对象数据库开发 500
15.1  学习目标 500
15.2  引言 500
15.3  对象定义语言 501
15.3.1  定义类 501
15.3.2  定义属性 502
15.3.3  定义用户结构 502
15.3.4  定义操作 503
15.3.5  为属性定义范围 503
15.3.6  定义联系 503
15.3.7  定义以对象标识符作为值的属性 505
15.3.8  定义多对多联系、键和多值属性 506
15.3.9  定义概化 508
15.3.10  定义抽象类 509
15.3.11  定义其他用户结构 510
15.4  松谷家具公司的OODB设计 511
15.5  创建对象实例 512
15.6  对象查询语言 513
15.6.1  基本的检索命令 514
15.6.2  在select子句中包含操作 514
15.6.3  查找不同的值 514
15.6.4  查询多个类 515
15.6.5  编写子查询 515
15.6.6  计算概要值 516
15.6.7  计算分组概要的值 516
15.6.8  在查询中使用集合 517
15.6.9  OQL的小结 518
15.7  当今ODBMS产品和它们的应用 518
本章小结 519
本章复习 519
项目案例:山景社区医院 522
第六部分 附  录
附录A  E-R建模工具和符号 523
附录B  高级范式 530
附录C  数据结构 535
附录D  对象-关系数据库 546
术语缩写 550
术语表 554

教学资源推荐
作者: Andrew S.Tanenbaum
作者: 陈蕾 主编 邓晶 仲兴荣 参编
作者: 刘春燕 高建华 吴黎兵 主编 熊建强 康卓 何宁 黄文斌 熊素萍 黄华 林莉 参编
参考读物推荐
作者: 主编 王松奇 副主编 王炜 徐义国
作者: 刘宇 著
作者: (法)Mark Walker 著