数据库管理系统(原书第3版)
作者 : Gerald V. Post
译者 : 冯建华 刘旭辉 周维续 等
丛书名 : 计算机科学丛书
出版日期 : 2006-08-10
ISBN : 7-111-19296-6
定价 : 48.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 348
开本 : 16开
原书名 : Database Management Systems Designing and Building Business Applications Third Edition
原出版社: McGraw Hill
属性分类: 教材
包含CD :
绝版 :
图书简介

对于管理和信息技术的专业人员来说,数据库是最重要和最实用的工具之一。数据库为收集、组织和共享数据提供了基础。数据库管理方法提供了很多传统编程技术无法比拟的优势,主要包括更短的开发时间、更容易修改、更好的数据完整性与安全性以及更强的数据共享和集成。而DBMS是最复杂的实用技术工具之一,本书细致讲解了如何在商业应用中使用DBMS。
  本书涵盖了构建数据库前的两个关键主题:数据库设计 (规范化) 和SQL (查询)。所有主要的数据库系统都涉及这两个主题。规范化说明了如何细致设计数据库以获得DBMS能力。SQL是一种标准查询语言,事实上用于应用程序开发的每一步。

1. 侧重于现代业务应用程序开发。
  ●根据业务模型来阐述数据库设计。
  ●通过很多示例和练习强调动手实践应用。
  ●侧重于新型图形用户界面应用程序。
  ●包含数据库编程和应用程序开发的内容。
  ●关于编程和开发细节内容的附录。
2. 热点主题。
  ●介绍并使用统一建模语言 (UML) 来建模和绘制系统图表。
  ●关于数据库环境下安全主题的深入讨论。
  ●因特网和内联网的数据库开发。
  ●强调SQL 92,同时介绍SQL 99和SQL 200x的XML特性。
  ●数据库中完整的应用程序和对象。
3. 实用的业务练习和案例。
  ●很多数据库设计问题。
  ●涵盖应用程序开发所有方面的练习。
  ●适用于期末实践项目的案例。
4. 完整的示例数据库应用程序。
  ●功能完善的业务数据库。
  ●示例数据和数据产生例程。
  ●一般数据库操作的示例程序代码。

图书特色

图书前言

两个网站的故事
  Orinoco音乐公司引以为豪的是他们的网站。它上面有很酷的图片,很火爆的音乐片段。刚开始,新闻的宣传为公司带来了大量的潜在客户。订单以网络订购的形式蜂拥而至。但几周之后,出现了一些问题。职员从网页向公司现有的邮件订购系统复制订单时经常出现错误。由于许多商品缺货,客户不断地取消订单,并且抱怨如果他们知道那些商品缺货的话,决不会去订购。几个月之后,新闻开始批评这个网站,说上面的图片很旧,并且大家不能获得最新乐队的音乐片段。由于经常更新网站需要很大的开销,Orinoco音乐公司正在考虑修改这个网站,把它改成一个基本的公司信息网站。
  客户们开始光顾Salt Peanuts音乐公司的新网站。在网站运行的一个月间,根据客户数量和每笔订单的金额计算,订购几乎翻了一倍。用户可以立即查看某件商品是否仍有库存。只需几次点击,他们便可以获取任何艺术家的背景信息,并且可以试听歌曲的小片段。已注册的客户付一些费用就可以将歌曲下载到自己的计算机中,随意播放。客户也可以通过即时消息和销售代表沟通。销售代表可以快速获取所有客户的数据。但每人都特别喜欢的特色是系统能够跟踪每个人的消费并提示与消费者相似的组。提示方法部分基于专家的意见,但主要由对消费进行分组决定。客户可以查看组中相似客户所购买的商品。每个人都很喜欢这个系统。公司经理喜欢它是因为它能促进销售,并且提供消费趋势的详细数据。客户们喜欢它是因为他们能够立刻获得想要的信息。唱片作者喜欢它是因为它提供了访问他们作品的途径并能提高销量。
  上述两个网站的区别在于Salt Peanuts网站建立在数据库管理系统之上,数据库管理系统集成了公司的数据。它能够使公司创建一个更完整、可交互的站点。
  本书内容简介
  对于管理和信息技术的专业人员来说,数据库是最重要和最实用的工具之一。数据库为在机构内集成、组织和共享数据提供了基础。事实上,管理的每一个领域都使用数据库管理系统(DBMS)。例如,销售人员利用数据库来分析销售数据,人力资源经理用它来评估员工,执行经理用它来跟踪并提高质量,会计用它来合计公司内的数据,而财务分析员用它来分析一个公司的业绩。
  数据库管理方法具备很多传统编程技术无法比拟的优势。主要的优势包括更短的开发时间、更容易修改、更好的数据完整性与安全性及更强的数据共享和集成。然而,DBMS是最复杂的实用技术工具之一。需要细致设计数据库以实现这些优势。一个大规模商用数据库提供了数千种选项并且价值数十万美元。掌握某一特定DBMS的全部特性可能需要花费数月时间。
  尽管数据库一般由信息技术专业人员创建和维护,越来越多的其他学科的管理专业人员也开始设计和创建他们自己的数据库应用程序。本书适用于大学三年级水平的初级商业数据库课程。任何专业的学生都能够理解本书的内容,但如果他们已经学过一门初级编程课程的话,理解起来将会更容易一些。
  本书目标和基本原理
  本书的目标明确:学习过本书之后,学生应该能够评估业务情况并构建一个数据库应用程序。
  本书的核心包括每个学生在构建数据库前必须学习的两个关键主题:数据库设计(规范化)和SQL(查询)。所有主要的数据库系统都涉及这两个主题。规范化说明了如何细致设计数据库以获得DBMS能力。SQL是一种标准查询语言,事实上用于应用程序开发的每一步。这两个主题必须仔细彻底地对待,特别是由于它们对于学生来说都是困难的主题。
  尽管某些学生可以通过一次普通讨论或讲座学会如何构建应用程序,但大部分人则需要在知识渊博的教师的指导下通过示例和亲手实践来弄懂。本书通过清楚的讲解、众多示例、练习和示例数据库为学习过程提供支持。附带的工作手册提供了使用特定数据库系统构建应用程序的更多细节。
  利用传统的关系数据库构建应用程序需要三种特别的技能:数据库设计、SQL知识和编程。这三种技能中的每一项都很复杂,但每一项对于构建成功的应用程序都是至关重要的。
  数据库设计是构建应用程序的基础。一个设计良好的数据库能够简化应用程序的构建、维护和扩充过程。关系数据库设计的一个重点是它的灵活性。一个设计合理的数据库能够扩充以适应业务情形的变化。另一方面,如果设计很差,构建应用程序实际上将会更难且花费更多时间。一般来说,抛弃一个设计很差的数据库并重新开始,要好于尝试修补或扩展它。
  SQL是一种强大的查询语言。它最强的能力之一在于它能够应用于许多不同的产品中。一旦你学会了SQL的基础,你将能够从几乎所有的数据库系统中获取数据。很多SQL查询语句是相对简单的,所以学会SQL基础是很快的。然而,SQL也可以用于解决复杂的问题。
  编程技巧组成了构建可靠商业应用程序所需知识的第三个层次。某些应用程序和数据库系统需要详细的编程技巧。然而,在很多情况下编程用得还很不够。编程可用于集成不同的组件或添加新的功能,以使应用程序更容易使用。
  大部分应用程序都会经历在数据库设计、SQL语言和编程三者间的协调。设计越差、对SQL的依赖越小,在构建应用程序时需要的编程将会越多。由于编写代码似乎更容易出错并且更难以修改,应用程序开发人员应该依赖于合理的数据库设计和SQL语言的能力。
  学习评估
  学习评估对于学生、教师和老板来说都是重要的。学生需要确定哪些方面是他们的强项,而哪些方面则需要额外的努力。学生需要明白,如果能够成功学会本书的内容,他们将能够掌握很多技巧,这些技巧将会使他们获得工作,并能通过快速构建和维护业务应用程序,从而在职业上有所作为。
  这门课程的学习评估很明确:学习本课程之后,学生应该能够评估业务情况并开发一个数据库应用程序。这个应用程序的复杂度和所使用的工具将取决于特定的班级和学生的背景。一般来说,布置一个为期一学期的实践项目是评估全部技能的好方法。期末的实践项目可以通过以下几方面来评定:(1)正确符合业务需求,(2)有效的数据库结构,(3)可用性。
  对个人技能进行独立评估也是很有用的,尤其是以组为单位创建期末实践项目的时候。在这种情况下,评估包括以下个人测试:(1)数据库设计和规范化,(2)SQL和根据业务问题创建查询,(3)精选的主题包括数据库编程、安全性、数据挖掘和分布式系统。
  结构
  本书的结构遵从应用程序开发的基本步骤:设计、查询、应用、管理和高级主题。一些教师可能会选择在讲授数据库设计前讲授查询,因此,前面几章在写作时保留了这种灵活性。
  简介解释了数据库的重要性,并将数据库应用程序与学生可能在其他课上学过的主题进行联系。
  数据库设计部分有两章:第2章是设计技术概述(系统技术,图表和控制),第3章详述数据规范化。这部分内容的目标是:在学期初阐述设计以便学生能够开始他们的实践项目。
  查询用两章来讲解。第4章介绍查询并集中于将业务问题转化为SQL查询的基础。第5章讨论了更复杂的查询,包括子查询和外连接。
  第3部分描述了数据库应用程序开发,第6章作为该部分的开始讲解表单、报表和应用的开发。第7章研究在多用户环境中产生的常见问题,阐述了用于处理数据完整性和事务的常用技术。第8章解释为何与事务处理相比分析处理需要不同的数据库配置。它涵盖用于在非静态上下文中进行分析和数据挖掘的主要工具。     
  第1章  简介
  第1部分  系统设计     
  第2章  数据库设计     
  附录  数据库设计系统     
  第3章  数据规范化     
  附录  规范化的形式化定义
  第2部分  查询     
  第4章  数据查询    
  附录  SQL语法     
  第5章  高级查询和子查询    
  附录  程序设计简介
  第3部分  应用     
  第6章  表单、报表和应用     
  第7章  数据库集成和事务     
  第8章  数据仓库和数据挖掘
  第4部分  数据库管理     
  第9章  数据库管理     
  第10章  分布式数据库和因特网
  第4部分研究了数据库管理中的各种主题。第9章研究管理问题,重点强调计划、实现、性能和安全性。它阐述了管理员需要负责的主要任务和控制。第10章探讨了为数据库提供分布式访问的日益增加的重要性。它阐述各种网络配置的效果,还讨论如何将数据库连接到网站以通过浏览器访问。
  此外,全书中有四章包含附录,讨论了技术性更强的编程概念。第2章的附录描述了可供教师和学生使用的联机数据库设计系统。它为数据库设计提供了即时反馈,使学生更容易理解问题和探究不同的设计。第3章的附录介绍了规范化的形式化定义。它是为那些想查看更多形式化的集合理论定义的教师和学生而提供的。第4章的附录是SQL基本语句的简捷列表。第5章的附录提供了程序设计简介。它可作为总结或简单备忘记录。
  教学特点
  本书的教学目标很明确,并且在每一章中都进行强调,那就是学习本书之后,学生应该能够使用DBMS构建商业应用程序。本书使用示例来应用书中所阐述的概念。应当鼓励学生通过解答每章的练习题和完成期末实践项目来应用知识。
  每章包含若干节帮助读者对本书的理解,并帮助读者将其应用于设计和创建业务应用程序上。这些部分包括:
  * 本章学习内容:关于本章内容重点和用途的简短讨论。
  * 小结:对本章主题的简要回顾。
  * 开发漫谈:每章都以一段情景对话作为开头和结尾,对话中讲述了本章所学内容在实际中的应用。
  * 关键词:本章中介绍的术语列表。本书的最后提供了一个完整的词汇表。
  * 补充读物:关于主题的更详细研究的参考文献。
  * 参考网站:一些提供主题相关详细信息的网站。其中一些是新闻组,开发人员分享问题和技巧。
  * 复习题:作为学习指南用于备考。
  * 练习:涉及本章中出现的概念的问题。大部分需要使用DBMS。
  * 项目:在正文后面的附录中提供了若干较长的项目。它们适合作为期末实践项目。
  * 工作手册:工作手册对于第3版来说是新内容,它提供了使用特定工具构建数据库的细节工作。工作手册的每一章都举例说明了与书中所讨论内容配套的任务。工作手册还提供练习,用于为不同公司构建6个数据库。
  * 示例数据库:提供了两个示例数据库用于举例说明书中讲述的概念。Sally的宠物商店例举了一个处于早期设计阶段的数据库,而Rolling Thunder自行车提供了一个更加完整的应用程序。它由现实的数据构成。在本书各章提供了有关这两个数据库的练习。
  本书特色
  1. 侧重于现代业务应用程序开发。
  * 根据业务模型来阐述数据库设计。
  * 通过很多示例和练习强调动手实践应用。
  * 侧重于新型图形用户界面应用程序。
  * 讲述数据库编程和应用程序开发的章节。
  * 关于编程和开发细节内容的附录。
  2. 热点主题。
  * 介绍并使用统一建模语言(UML)来建模和绘制系统图表。这种新标准将很快被所有设计者使用。
  * 关于数据库环境下安全主题的深入讨论。
  * 因特网和内联网的数据库开发。
  * 强调SQL 92,同时介绍SQL 99和SQL 200x的XML特性。
  * 数据库中集成的应用程序和对象。
  3. 实用的业务练习和案例。
  * 很多数据库设计问题。
  * 涵盖应用程序开发所有方面的练习。
  * 适用于期末实践项目的案例。
  4. 一个完整的示例数据库应用程序(Rolling Thunder自行车)。
  * 功能完善的业务数据库。
  * 示例数据和数据生成器例程。
  * 常见数据库操作的示例程序代码。
  5. 用于比较和附加任务的第二个数据库(Sally的宠物商店)。
  6. PowerPoint幻灯片形式的讲课记录。
  7. 为特定数据库技术编制的工作手册,其中举例说明了亲手构建一个实际应用程序所需的步骤。最初,印刷好的工作手册是和微软的Access和Oracle配套的。读者与出版者和教师协商以获取对于其他系统和工具的支持。
  8. 附加信息和章节。为了缩减本书的篇幅,早期的一些章节—特别是对物理数据存储(B树)的分析已经以电子文件的形式转存到随书光盘上了。
  期末实践项目
  各章后面的附录中介绍了很多项目。这些项目适合作为期末的实践项目。学生应当能够在一学期内构建一个完整的应用程序。最终的成绩应当侧重于这个期末实践项目。教师至少应当对两个中间阶段进行评定:(1)在学完第3章后的短期内收集一系列规范化表,(2)在学完第6章后的短期内收集设计预览,预览至少要包括两个主要表单和两个报告。工作手册中的6个额外案例也可以用做期末实践项目。
  一些教师可能会选择以小组作业的方式来布置实践项目。然而,应当尽量避免这种方式,要求学生独立完成工作。实践项目是一种关键的学习工具。如果组内的一些成员逃避实践项目的工作,他们将失去一次重要的学习机会。
  数据库设计和统一建模语言
  许多年来,实体关系图在数据库设计建模方法中占有统治地位。然而,由于有很多种不同的绘图方法,这种建模方法给教师(和学生)带来了麻烦。与以往版本一样,本书使用统一建模语言(UML)方法代替传统的实体关系(ER)图作为数据库设计的建模方法,从而解决这些问题。从表面上看,这种改变几乎就是将ER图的符号和术语用UML类图中的并行概念进行替代。
  UML类图与ER图非常相似,但它在很多方面具有优势。首先,它们是标准化的,这样学生(和教师)只需学习一种符号集合。第二,它们因为没有传统ER图中无用的和含义模糊的符号而更容易阅读,从这种意义上说它们更“干净”。第三,它们提供对于面向对象设计的介绍,因此学生能够更好地为将来的开发做准备。第四,随着UML作为一种标准设计方法被迅速采纳,学生能够更好地为开展未来的工作做准备。很多系统设计团体已经采用UML作为设计系统的一种标准方法。UML由系统设计的主要创造者(例如Booch,Rumbaugh和Jacobsen)提供支持,同时重要的软件公司(包括IBM,Microsoft和Oracle)也对它提供支持。Mircosoft Access和SQL Server都使用一种类似于UML的绘图工具。此外,如果学生需要使用老式的ER方法,他们在迁移其UML方法的知识时将不会感到困难。
  ER图和类图的基本相似点在于:(1)实体(类)用矩形绘制;(2)二元关系(联系)以连接线绘制;(3)n元联系(关联)用菱形绘制。这样,总体结构是相似的。UML和ER图的区别主要体现在细节上。在UML中,关联的多样性以简单的数字符号显示,而不是以一个含义模糊的图标显示。下面两图中列举了一个示例。
  UML也能表示n元关联并允许将关联定义为类。这里能够表示所有关联的命名,包括导航名称以便于辅助读图。在一些情形下还定义了表示关联结束的图标,例如布局(ER很少进行处理)和子类型(ER中只提供了很少支持)。
  UML方法的更多细节在第2章和第3章中讲解。本书中只使用很小部分的UML图、符号和术语。你可以在http://www.rational.com/uml/网站上找到完整的规范。
  教学支持
  * 具有多项选择题、简答题和小规模项目的测试库可以和Irwin/McGraw-Hill的电子测试库软件一起使用。
  * 讲课记录和帮助以Microsoft PowerPoint幻灯片格式提供。幻灯片包含所有图片和附加记录。幻灯片以讲课形式组织,并且可以重新排列以适合个人偏好。
  * 光盘上提供了许多数据库和练习。教师可以添加新数据,修改练习,或者使用它们扩充本书中的讨论。
  * Sally的宠物商店数据库应用程序以后端数据库格式提供,数据库的格式包括Microsoft Access,SQL Server和Oracle。前端以Microsoft Access、Oracle、Visual Basic 6和ASP网页形式提供。在本书中大量使用了此应用程序来阐明主题。与Rolling Thunder示例相比,宠物商店示例处于设计的早期阶段,这是由于以下两个主要原因。(1)学生能够比较这两个应用程序并且洞察开发步骤;(2)可以给学生布置作业来为宠物商店应用程序添加额外的功能。
  * Rolling Thunder示例数据库适用于Oracle,SQL Server和Microsoft Access,但应用程序窗体只能运行在Microsoft Access下。它是一个独立的应用程序,示例说明了很多概念并使学生能够研究一个完整数据库应用程序的众多方面,包括应用程序的代码。
  * 通过互联网站点http://JerryPost.com可以与作者进行直接沟通。
  * 通过互联网站点http://www.mhhe.com可以与出版者进行直接沟通。
  第3版的变化
  第3版中最重要的变化就是增加了工作手册。将数据库细节材料转移到工作手册中能够缩减正文的篇幅并且在工作手册中提供更详细的帮助。尽管本书仍然是以应用程序为导向的,本书还是在主体内容中采取更一般的方法来介绍较难的主题。本书将重点为学生提供设计、查询和构建数据库所需的基本技能和知识。工作手册提供详细的数据库细节帮助,并将任务转化为解决构建应用程序中的特定问题。工作手册可用于实验室环境,或者作为帮助学生设计和构建其实践项目的单独说明。
  第3版中还包含关于数据仓库和数据挖掘的扩充讨论。这些概念在一个新章(第8章)中详述。第7章关于完整性和事务的介绍包含数据库触发器、事务和键生成问题重要性的扩展。构建一个应用程序的概念已经被整理并简化到第6章。详细的步骤在工作手册中进行介绍。
  此外,需要注意的是大部分练习都已经替换过。旧的练习可在光盘中和作者的网站上找到。此版本在附录中包含案例,称为数据库项目。所有旧的案例都已经转移到了光盘和网站上。除提供新项目之外,本书的目的是创建稍小型的案例以便学生能够在一个学期中完成。
  设计反馈工具
  本书的另一个重要的新元素是拥有联机数据库设计系统。这个联机专家系统在教授数据库设计和数据规范化方面是一个很大的进步。学生使用支持Java的网页浏览器来绘制设计图并将它们保存在中央服务器上。鼠标单击之后,服务器评定设计图并提供对设计的即时反馈。反馈以提示和问题的形式指导学生重新考虑表的设计。教师能够在几分钟之内设定班级和作业,并且可以定制问题、解决方案和成绩评定标准。教师甚至能够创建新的问题,但是系统已经包含了很多练习,包括本书三个版本中的所有问题。教师需要签约才能在课堂中使用此系统。确认网站为http://time-post.com/dbdesign。
  致谢
  创建一种教授数据库管理的新方法需要很多人的努力和支持。数据库可能是一门较难但有乐趣的课程。这需要教师为改进教授本书的方法做出很大贡献。第1版和第2版的评审者花费了不少时间和精力改进此书,他们的贡献值得称赞。
  我要特别感谢John Gerdes为测试库所做的工作,同时也要感谢下面这些杰出的专业人员,他们贡献了自己的时间和精力来审阅本书,才有了此版本的改进。
  Bhagyavati博士(哥伦布州立大学)
  Andy Borchers(凯特灵大学)
  Sudip Bhattacharjee(康涅狄格大学)
  Subhasish Dasgupta(乔治华盛顿大学)
  Sherif Elfayoumy博士(北佛罗里达大学)
  Sudha Ram博士(亚利桑那大学)
  John Gerdes, Jr.(加利福尼亚大学)
  Karlene Sanborn博士(富兰滋大学)
  Allen Gray(Loyola玛丽蒙特大学)
  Ashraf Shirani(圣琼斯州立大学)
  Jim Kattke(奥古斯堡学院)
  Leon Zhao(亚利桑那大学)
  T. M. Rajkumar(迈阿密大学)
  我还要深深感谢以下这些教师,他们仔细思考并大力支持将本书第3版组织成核心课本加两本工作手册的形式:
  Barbara Beccue(伊利诺伊州立大学)
  Steve Rau(玛魁特大学)
  Jim Chen(圣克劳得州立大学)
  Werner Schenk(罗切斯特大学)
  Mike Collins(海波因特大学)
  Richard Segall(阿肯色州立大学)
  Donald Dawley(迈阿密大学,牛津)
  Tarun Sen(维吉尼亚工艺学院)
  Carlos Ferran(罗切斯特理工学院)
  Conrad Shayo(加州州立大学,圣贝纳迪诺)
  Philip Friedlander(圣彼得斯堡学院,Clearwater)
  Monica Garfield(南佛罗里达大学,坦帕)
  Kazem Taghva(拉斯维加斯内华达大学)
  Marilyn Griffin(维吉尼亚工艺学院)
  S. Varden(裴斯大学)
  Jeff Guan(路易斯维尔大学)
  James Yao(Montclair州立大学)
  John Molluzzo(裴斯大学)
  Brian Zelli(布法罗纽约州立大学)
  Anne Nelson(海波因特大学)
  Larisa Preiser(加州州立职业工艺大学)
  与McGraw-Hill/Irwin的工作人员合作是一件很愉快的事情。Paul Ducham的指导及其积极尝试新思路对于编写本书是至关重要的。Charlie Fisher和Greta Kleinert的支持,设计和生产人员对细节问题的无比关注铸就了更好的书籍。全体工作人员使我的工作变得更容易和更快乐。

封底文字

对于管理和信息技术的专业人员来说,数据库是最重要和最实用的工具之一。数据库为收集、组织和共享数据提供了基础。数据库管理方法提供了很多传统编程技术无法比拟的优势,主要包括更短的开发时间、更容易修改、更好的数据完整性与安全性以及更强的数据共享和集成。而DBMS是最复杂的实用技术工具之一,本书细致讲解了如何在商业应用中使用DBMS。 本书涵盖了构建数据库前的两个关键主题:数据库设计 (规范化) 和SQL (查询)。所有主要的数据库系统都涉及这两个主题。规范化说明了如何细致设计数据库以获得DBMS能力。SQL是一种标准查询语言,事实上用于应用程序开发的每一步。 1. 侧重于现代业务应用程序开发。 ●根据业务模型来阐述数据库设计。 ●通过很多示例和练习强调动手实践应用。 ●侧重于新型图形用户界面应用程序。 ●包含数据库编程和应用程序开发的内容。 ●关于编程和开发细节内容的附录。 2. 热点主题。 ●介绍并使用统一建模语言 (UML) 来建模和绘制系统图表。 ●关于数据库环境下安全主题的深入讨论。 ●因特网和内联网的数据库开发。 ●强调SQL 92,同时介绍SQL 99和SQL 200x的XML特性。 ●数据库中完整的应用程序和对象。 3. 实用的业务练习和案例。 ●很多数据库设计问题。 ●涵盖应用程序开发所有方面的练习。 ●适用于期末实践项目的案例。 4. 完整的示例数据库应用程序。 ●功能完善的业务数据库。 ●示例数据和数据产生例程。 ●一般数据库操作的示例程序代码。

作者简介

Gerald V. Post:Gerald V. Post:  1983年于艾奥瓦州立大学获得博士学位,现为太平洋大学管理信息系统教授,讲授管理信息系统、数据库管理、系统开发、网站开发等课程。其网站http://jerrypost.com/DBBook//index.html提供本书相关资源下载。

译者简介

冯建华 刘旭辉 周维续 等:暂无简介

译者序

数据库是最重要的和最有用的专业管理与信息技术工具之一。数据库提供了收集、组织和共享企业数据的基础。例如,市场人员使用数据库来分析销售数据,人力资源管理者使用它来评价员工的表现,业务管理者用它来跟踪并提高产品的质量,会计人员用它来整合各个工厂的数据,而财务分析家使用它来分析整个公司的效益。
  数据库管理方法与传统的程序设计技术相比,提供了更加重要的优势。基本的优势包括开发时间短、容易更新、较好的数据集成和数据安全,以及更高程度的数据共享和数据集成。但是,数据库管理系统(DBMS)是可用的最复杂的技术工具之一,只有仔细设计数据库才能获得这些优势。大型的商用DBMS提供了成千上万的选项。要花费几个月的时间才能全部掌握DBMS特有的功能。
  目前市场上有关数据库方面的书籍主要集中在高校教材方面,主要讲述数据库系统的原理和设计。虽然也有一些关于如何使用数据库系统方面的书籍,但这些书更像是数据库管理员(DBA)的专业培训教材。而有关如何利用DBMS建立商业应用的书籍很少。
  虽然数据库常常是由信息技术方面的专家来创建和维护的,但是其他领域的管理专家也越来越多地亲自设计和建立自己的数据库应用。因此,我们将本书翻译介绍给非计算机专业的人员,尤其是管理人员,为他们建立自己的商业数据库和应用提供全方位的指导与训练。从专业角度讲,本书适合大学三年级的学生学习如何设计商业数据库并建立应用,任何非计算机专业的学生都能够理解本书的内容,尤其是经济管理专业和MBA的学生更适合以本书作为数据库课程的教材。
  本书的前言和第1章由冯建华负责翻译,第一部分(第2、3章)由刘旭辉负责翻译,第二部分(第4、5章)由林峰负责翻译,第三部分(第6、7、8章)由周维续负责翻译,第四部分(第9、10章)和词汇表由贺宇凯和李国良负责翻译,冯建华和周维续对全书进行了审校。
  由于水平有限,在翻译过程中难免存在着这样或那样的错误,欢迎广大读者批评、指正。 
  译 者
  2006年3月于清华园

图书目录

第1章  简介 1
1.1  开发漫谈 1
1.2  简介 1
1.3  数据库和应用开发 2
1.4  数据库管理系统的组成 3
1.4.1  数据库引擎 3
1.4.2  数据字典 4
1.4.3  查询处理器 5
1.4.4  报表编写器 6
1.4.5  表单生成器 6
1.4.6  应用生成器 8
1.4.7  通信与集成 8
1.4.8  安全性与其他工具 9
1.5  使用数据库管理系统的优势 9
1.5.1  集中精力于数据 10
1.5.2  数据独立性 10
1.5.3  数据独立性与客户/服务器系统 11
1.6  重要的商用数据库 11
1.7  数据库管理系统简史 12
1.7.1  层次数据库 12
1.7.2  网状数据库 12
1.7.3  关系数据库 13
1.7.4  面向对象数据库 14
1.8  应用开发 17
1.9  Sally的宠物商店 18
1.10  Rolling Thunder自行车 18
1.11  可行性研究 19
1.11.1  成本 19
1.11.2  效益 20
小结 20
关键词 21
复习题 21
练习 22
参考网站 23
补充读物 24
第一部分  系统设计
第2章  数据库设计 26
2.1  开发漫谈 26
2.2  简介 26
2.3  开始设计之前 28
2.4  设计数据库 28
2.4.1  确定用户需求 28
2.4.2  业务对象 29
2.4.3  表和关系 29
2.4.4  定义 30
2.4.5  主码 30
2.5  类图 31
2.5.1  类和实体 31
2.5.2  关联和关系 32
2.5.3  类图细节 32
2.6  Sally的宠物商店类图 38
2.7  数据类型(域) 40
2.7.1  文本 40
2.7.2  数值 41
2.7.3  日期和时间 42
2.7.4  二进制对象 43
2.7.5  计算值 43
2.7.6  自定义类型(域/对象) 43
2.8  事件 44
2.9  大型项目 45
2.10  Rolling Thunder自行车 46
2.11  应用设计 51
小结 51
关键词 52
复习题 52
练习 53
参考网站 57
补充读物 57
附录:数据库设计系统 57
第3章  数据规范化 65
3.1  开发漫谈 65
3.2  简介 65
3.3  表、类和码 66
3.3.1  复合码 66
3.3.2  代理码 67
3.3.3  标记 67
3.4  音像店的示例数据库 70
3.4.1  初始对象 71
3.4.2  初始表单评估 72
3.4.3  重复部分的问题 73
3.5  第一范式 75
3.5.1  重复组 75
3.5.2  嵌套重复组 76
3.6  第二范式 76
3.6.1  第一范式的问题 77
3.6.2  第二范式的定义 78
3.6.3  依赖 79
3.7  第三范式 80
3.7.1  第二范式的问题 80
3.7.2  第三范式的定义 81
3.7.3  检查你的工作 83
3.8  超越第三范式 84
3.8.1  Boyce-Codd范式 84
3.8.2  第四范式 85
3.8.3  域-码范式 85
3.9  数据规则和完整性 87
3.10  业务规则的影响 88
3.11  将类图转化为规范化的表 90
3.11.1  一对多关系 91
3.11.2  多对多关系 92
3.11.3  多重关联 93
3.11.4  概括或子类型 94
3.11.5  组合 94
3.11.6  自反关联 95
3.11.7  小结 95
3.11.8  Sally的宠物商店示例 96
3.12  视图集成 98
3.12.1  Sally的宠物商店示例 99
3.12.2  Rolling Thunder示例中的集成问题 100
3.13  数据字典 105
3.13.1  DBMS表定义 106
3.13.2  数据量与使用率 109
小结 111
关键词 112
复习题 112
练习 112
参考网站 119
补充读物 119
附录:规范化的形式化定义 120
第二部分  查   询
第4章  数据查询 126
4.1  开发漫谈 126
4.2  简介 126
4.3  查询语言的三个任务 127
4.4  检索数据的四个问题 127
4.4.1  你想得到什么结果 128
4.4.2  已经知道什么 128
4.4.3  涉及哪些表 128
4.4.4  如何连接表 128
4.5  Sally的宠物商店 128
4.6  版本差异 129
4.7  基本查询 129
4.7.1  单表 130
4.7.2  SQL介绍 130
4.7.3  输出排序 131
4.7.4  关键字Distinct 132
4.7.5  条件 132
4.7.6  布尔代数 133
4.7.7  德摩根定律 134
4.7.8  有用的WHERE子句 137
4.8  计算 137
4.8.1  基本运算 137
4.8.2  聚集运算 138
4.8.3  函数 139
4.9  部分和与GROUP BY语句 140
4.9.1  求和条件(HAVING) 141
4.9.2  WHERE子句与HAVING子句 142
4.9.3  最好和最差 142
4.10  多表 143
4.10.1  连接表 143
4.10.2  标识不同表中的列 145
4.10.3  连接多张表 145
4.10.4  表连接提示 146
4.10.5  表的别名 148
4.10.6  创建视图 148
小结 150
关键词 150
复习题 151
练习 151
参考网站 154
补充读物 154
附录:SQL语法 154
第5章  高级查询和子查询 157
5.1  开发漫谈 157
5.2  简介 157
5.3  Sally的宠物商店 158
5.4  子查询 158
5.4.1  计算或简单查找 158
5.4.2  子查询和数据集合 159
5.4.3  带有ANY和ALL的子查询 160
5.5  差:NOT IN 161
5.6  外连接 162
5.7  关联子查询存在危险 164
5.8  SQL SELECT的更多特征和技巧 166
5.8.1  UNION、INTERSECT和EXCEPT 166
5.8.2  多JOIN列 167
5.8.3  自反连接 167
5.8.4  CASE函数 168
5.8.5  不等连接 169
5.8.6  带有“每一个”的查询需要 EXISTS子句 169
5.8.7  SQL SELECT小结 170
5.9  SQL数据定义命令 171
5.10  SQL数据操纵命令 173
5.10.1  INSERT和DELETE 173
5.10.2  UPDATE 174
5.11  质量:查询检查 175
小结 176
关键词 177
复习题 177
练习 178
参考网站 181
补充读物 181
附录:编程简介 181
第三部分  应   用
第6章  表单、报表和应用 190
6.1  开发漫谈 190
6.2  简介 190
6.3  报表和表单的有效设计 191
6.3.1  人性化设计 191
6.3.2  Windows控件 193
6.3.3  用户界面—网络要点 195
6.3.4  用户界面—访问问题 195
6.4  表单布局 195
6.4.1  表格表单 196
6.4.2  单行或单列表单 196
6.4.3  子表单 198
6.4.4  导航表单 199
6.5  建立表单 200
6.5.1  可更新的查询 200
6.5.2  连接表单 201
6.5.3  属性和控件 201
6.5.4  表单上的控件 202
6.5.5  多表单 205
6.5.6  国际属性 206
6.6  直接操作图形对象 207
6.6.1  Sally的宠物商店示例 207
6.6.2  因特网 208
6.6.3  图形方式的复杂性和局限性 208
6.7  报表 209
6.7.1  报表设计 209
6.7.2  术语 210
6.7.3  基本报表类型 211
6.7.4  图表 214
6.8  应用软件的功能 215
6.8.1  菜单和工具栏 216
6.8.2  定制帮助 217
小结 221
关键词 221
复习题 222
练习 222
参考网站 223
补充读物 224
第7章  数据库完整性和事务 225
7.1  开发漫谈 225
7.2  简介 225
7.3  过程语言 226
7.3.1  代码应该放在哪里 226
7.3.2  用户定义的函数 227
7.3.3  查找数据 228
7.4  数据触发器 228
7.4.1  语句与行触发器 229
7.4.2  利用触发器取消数据更新 230
7.4.3  级联触发器 230
7.4.4  INSTEAD OF触发器 232
7.5  事务 232
7.5.1  事务的例子 232
7.5.2  事务的开始和结束 232
7.5.3  保存点 233
7.6  多用户与并发访问 234
7.6.1  悲观锁:串行化 235
7.6.2  多用户数据库:并发访问与死锁 236
7.6.3  乐观锁 237
7.7  事务的ACID特征 238
7.8  码生成 240
7.9  数据库游标 241
7.9.1  游标基础 241
7.9.2  可滚动的游标 241
7.9.3  利用游标修改或删除数据 243
7.9.4  带参数的游标 244
7.10  Sally的宠物商店的存货清单 244
小结 247
关键词 248
复习题 248
练习 249
参考网站 251
补充读物 251
第8章  数据仓库和数据挖掘 252
8.1  开发漫谈 252
8.2  简介 252
8.3  索引 253
8.3.1  二分查找 253
8.3.2  指针和索引 254
8.3.3  位图索引和统计方法 254
8.3.4  索引的问题 255
8.4  数据仓库和联机分析处理 256
8.4.1  数据仓库的目标 256
8.4.2  数据仓库的问题 257
8.5  OLAP的概念 258
8.6  OLAP数据库设计 259
8.6.1  OLAP数据分析 261
8.6.2  SQL中的OLAP 263
8.6.3  SQL分析函数 266
8.6.4  SQL的OLAP窗口 266
8.7  数据挖掘 269
8.7.1  分类 269
8.7.2  关联规则/购物篮分析 270
8.7.3  聚类分析 272
8.7.4  地理分析 272
小结 273
关键词 274
复习题 274
练习 275
参考网站 276
补充读物 276
第四部分  数据库管理
第9章  数据库管理与安全 278
9.1  开发漫谈 278
9.2  简介 278
9.3  数据管理员 279
9.4  数据库管理员 280
9.5  数据库结构 281
9.6  元数据 282
9.7  开发阶段的数据库任务 282
9.7.1  数据库规划 283
9.7.2  数据库设计 283
9.7.3  数据库实现 283
9.7.4  数据库运行和维护 284
9.8  备份和恢复 284
9.9  安全和隐私 286
9.9.1  数据隐私 286
9.9.2  威胁 287
9.9.3  物理安全 287
9.9.4  管理控制 288
9.9.5  逻辑安全 288
9.9.6  职责分割 292
9.9.7  软件升级 293
9.10  加密 294
9.11  Sally的宠物商店 295
小结 296
关键词 297
复习题 297
练习 298
参考网站 300
补充读物 300
第10章  分布式数据库和因特网 301
10.1  开发漫谈 301
10.2  简介 301
10.3  Sally的宠物商店 302
10.4  分布式数据库 302
10.4.1  目标和规则 303
10.4.2  优点和应用 304
10.4.3  创建分布式数据库系统 305
10.4.4  分布式查询处理 306
10.4.5  数据复制 307
10.4.6  并发、锁和事务 308
10.4.7  独立的事务管理器 309
10.4.8  分布式设计问题 310
10.5  客户/服务器数据库 310
10.5.1  客户/服务器与文件服务器 311
10.5.2  三层客户/服务器模型 312
10.5.3  后端:服务器数据库 313
10.5.4  前端:Windows客户端 314
10.5.5  在客户端维护数据库的独立性 315
10.6  电子商务数据库 316
10.7  作为客户/服务器系统的Web 317
10.7.1  受限的HTML客户端 317
10.7.2  Web服务器数据库基础 319
10.8  应用中的数据传输问题 321
10.9  XML:将数据传输到不同的系统 323
10.10  Java语言和JDBC 326
小结 326
关键词 328
复习题 328
练习 328
参考网站 330
补充读物 330
词汇表 331

教学资源推荐
作者: (美) Patrick Juola 著
作者: (美)Philip J.Pratt
作者: 李清水
作者: (美)Paul Ammann     乔治&