作 者 简 介 Michael V. Mannino于1980年开始涉足数据库领域,从1983年起,他任教于佛罗里达大学、德州大学奥斯汀分校、华盛顿大学和科罗拉多大学丹佛分校等多所知名院校,为MIS大学生、MIS研究生、MBA学生、博士生及参加在职培训的员工讲授数据库管理课程。Michael V. Mannino一直活跃于数据库研究领域,并在IEEE(知识与数据工程学报以及软件工程学报)、ACM(通信和计算研究)以及INFORMS(计算和信息系统研究报告刊物)主流期刊上发表了论文,包括多篇通俗易懂的综述、教学论文以及包含创新成果的论文。他在“表单驱动”数据库设计方法上的实用研究成果被收入本书第12章。 案 例 研 究 Paul Hong先生是International Industrial Adhesives, Inc.的所有者,他虽然十分满意公司当前的经营业绩,但对公司发展远景持谨慎态度。目前公司的销售收入及赢利增长均超出了乐观的预测,而开支却并未相应增加,Paul Hong将这些归功于全球经济复苏,通过外包集中使用资源,以及具有战略意义的IT部署。面对一派喜人的景象,Paul Hong没有沾沾自喜,反倒疑虑起公司的前景来,他认真考虑了各种不利因素:业务的成功导致新竞争对手觊觎抢夺他的金牌客户;成本高昂的新兴电子商务行业的回报存在不确定性;政府的新法规将大幅增加上市公司的经营成本,从而影响他通过公开增发证券以筹集资金的计划。尽管对近期的业绩感到欢欣鼓舞,但Paul Hong在谨慎地思考如何把握新方向以确保业绩继续增长。 为保持在业内的领先地位,并控制行业及政府法规带来的成本,Paul Hong必须评估IT投资。为适应竞争需要,他必须获得更加详细及时的行业趋势、竞争对手活动及经销商交易数据。他要选择一个经济实惠的解决方案来支持行业的电子商务举措。为给上市做准备,他必须执行IT审计,并完成政府针对上市公司的其他报告要求。面对所有这些事项,Paul Hong在采用专有还是通用技术和标准的问题上感到犹豫不决。 上述事项涉及作为不断扩展的企业计算基础结构一部分的数据库技术的有效使用。企业DBMS的“事务处理”功能为确保可靠处理联机订单,以支持规模扩大的行业电子商务举措奠定基础。企业DBMS的“数据仓库”功能为支持大型数据仓库和及时捕获源数据奠定基础。“并行数据库”技术能通过循序渐进地添加计算能力,来提高事务处理和数据仓库查询的性能和可靠性。“对象数据库”具有管理电子商务行业首创生成的大量XML文档集合的能力。 然而,Paul Hong所关注事项的解决方案不仅在于技术方面。利用技术的等级是否适应涉及公司未来的远景、对技术的深入理解以及传统的风险管理技术。Paul Hong认识到最大的挑战是如何恰如其分地融合这些技术,以便为公司开发一个行之有效的解决方案。 内 容 简 介 本书介绍数据库技术的基础知识,旨在帮助您驾轻就熟地处理诸如Paul Hong遇到的企业计算事项。作为一名管理数据库的新手,首先要理解数据库管理和关系数据模型的基本概念,然后要熟练掌握数据库设计和数据库应用程序开发技能。本书提供了必需的工具,以帮助您理解关系数据库,并学会如何解决基本和复杂的查询公式化、数据建模、规范化、应用程序数据要求和自定义数据库应用程序问题。 掌握这些技能后,就可以学习数据库专家的任务以及数据库所在的处理环境了。本书介绍了处理环境下的每个基本数据库技术,并将这些技术与电子商务及企业计算的新进展联系在一起。您将学习数据库技术的术语、架构和设计问题,这些为深入研究每种数据库管理系统、电子商务应用程序和企业计算提供了背景知识。 新 增 内 容 第三版对第二版做了大幅修改,同时保留了前两个版本中获得读者认可的教学材料。根据从大学生和研究生教学中积累的经验,并结合读者的意见,扩充了新材料,并完善了现有材料。第三版中数据库开发章节(即第5~8章)的改动幅度最大:更改了数据建模的业务规则,更改了分析业务信息需求的指南,扩大了描述数据模型中的设计错误范围,扩大了描述函数依赖识别的范围,提供更大的查询优化提示范围。新范围巩固了第二版中的成熟方法:分离实体关联图和业务数据建模的结构,介绍用于消除表示法错误的自定义数据建模工具ER Assistant,重点介绍用作数据库开发完善工具的规范化过程。 在数据库应用程序开发方面,第三版浓墨重彩地描述SQL:2003(SQL:1999标准的演化),介绍SQL:200 3标准的范围以及新内容。在数据库应用程序方面的大量完善扩展了前两版的成熟内容:查询公式化指南、高级匹配问题、层次表单和报表的查询公式化提示以及软约束的触发器。 在数据库管理和处理环境方面,第三版扩大了SQL:2003和Oracle 10g的新技术范围。最重要的新主题有:并行数据库技术,物化视图查询重写的扩展描述,以及Oracle分布式数据库的透明性。重要的修订内容有:死锁控制,数据库恢复检查点,事务设计期间的用户交互时间,维度表中的时间表示,数据仓库成熟度,客户端-服务器数据库处理中的Web服务,以及对象数据库架构的商用。 除新增材料和修改现有材料外,第三版还增加了章节补充材料,添加了章末复习题和练习题,并概括了SQL:2003语法。本书Web站点上的新材料包括案例研究,初级和中级课程的课外作业及一些示例试题。 第三版的章节编排更合理,全书分7个部分,缩小了学习单元。第I部分简要介绍数据库管理和开发,以便为后续章节的详细知识和技术提供概念基础。第II部分介绍用于创建数据库的关系数据模型的基本元素以及查询公式化。第III部分和第IV部分介绍数据库开发,其中,第III部分介绍数据建模,第IV部分介绍逻辑和物理表的设计。第V部分介绍高级应用程序开发,内容包括高级匹配问题、数据库视图以及存储过程和触发器。第VI部分通过视图集成和一个全面详尽的案例讲述高级数据库开发。第VII部分描述数据库管理和DBMS处理环境(对应于本书第二版第IV部分的内容)。 本 书 特 色 本书具有同类书籍无可比拟的优势。本书特色有:详细介绍Access和Oracle的SQL语句,有助于您掌握关键技能的问题解决指南,精心设计的示例数据库和例子,全面详尽的案例研究,紧跟技术前沿的高级主题,集成的实验室材料以及ER Assistant。这些特色共同打造出一个完整的入门数据库课程包。以下列表逐一详述这些功能。表P-1按章节概括了本书优势。 表P-1 按章节描述本书优势 章 号 优 势 2 在概念层次上介绍数据库开发过程的特色章节 3 关系代数操作符的可视表示形式 4 查询公式化指导原则,范围涉及Oracle、Access和SQL:2003 5 重点描述EA Assistant支持的ERD表示法、业务规则和图表规则 6 分析业务信息需求的策略、转换数据建模、检查常见设计错误 7 规范化指导原则和过程 8 索引选择原则;SQL优化指导原则,采用综合方法介绍查询优化、文件结构和索引选择 9 查询公式化指导原则;范围涉及Oracle10g、Access和SQL:2003;有关嵌套查询、“除”问题和空值处理的高级主题 10 可更新视图的原则,表单和报表的数据要求指导原则 11 介绍数据库编程语言、存储过程及触发器概念和实践的特色章节 12 介绍视图集成及设计概念和实践的特色章节 13 全面详尽地介绍学生贷款处理的实例研究 14 有关数据库管理员所使用的重要过程的指导原则 15 事务设计指导原则高级主题 16 数据仓库成熟度模型(用来评估对组织的技术影响);有关数据仓库处理及数据仓库刷新过程的关系数据库方面的高级主题;扩展的Oracle10g数据仓库研究 17 综合描述客户端-服务器处理、并行数据库处理和分布式数据库 18 SQL:2003和Oracle10g关系对象方面的高级主题 SQL范围:本书介绍的SQL在深度和广度上均超出其他同类书籍。表P-2按章节概括了SQL范围。第II部分和第V部分详尽介绍了CREATE TABLE、SELECT、UPDATE、INSERT、DELETE、CREATE VIEW和CREATE TRIGGER语句。并针对基本、中等和复杂问题列举了大量例子。第VII部分的章节涉及用于管理数据库以及用于特定处理环境的SQL语句。 表P-2 按章节描述SQL语句 章 号 SQL语句 3 CREATE TABLE 4 SELECT、INSERT、DELETE、UPDATE 9 SELECT(嵌套查询、外连接和空值处理) ,范围涉及Access、Oracle 10g和SQL:2003 10 CREATE VIEW,使用视图的查询和操纵语句 11 CREATE PROCEDURE(Oracle)、CREATE TRIGGER(Oracle和SQL:2003) 14 GRANT、REVOKE、CREATE ROLE、CREATE ASSERTION、CREATE TABLE语句的CHECK子句、CREATE DOMAIN 15 COMMIT、ROLLBACK、SET TRANSACTION、SET CONSTRAINTS、SAVEPOINT 16 CREATE MATERIALIZED VIEW(Oracle)、GROUP BY子句扩展(Oracle及SQL:2003)、CREATE DIMENSION(Oracle) 18 CREATE TYPE、CREATE TABLE(类型表及子表)、SELECT(对象标识符、路径表达式和反引用操作符),范围涉及Oracle10g和SQL:2003 Access和Oracle范围:第II部分和第V部分的章节详细描述Access和Oracle的SQL。每个SELECT、INSERT、UPDATE、DELETE和CREATE VIEW语句的例子都针对这两种数据库管理系统进行显示。第8、9、11、15、16和18章描述全新的Oracle10g SQL功能。另外,第II部分和第V部分的章节讨论了SQL:2003语法,以帮助您了解其他主流数据库管理系统。 解决问题的指导原则:读者不仅需要解释概念和解决问题的例子,还需要在指导原则的帮助下理清思绪,以便有条不紊地处理问题。这些指导原则提供了思维模型,以帮助学习者运用概念解决基本和复杂问题。表P-3按章节概括了独具特色的解决问题的指导原则。 表P-3 按章节划分的解决问题的指导原则 章 号 解决问题的指导原则 3 关联以及关系代数操作符的可视表示形式 4 概念评估过程、查询公式化问题 5 图表原则 6 分析业务信息需求的指导原则、设计转化、识别常见设计错误、转换规则 (续表) 章 号 解决问题的指导原则 7 识别函数依赖的指导原则,简单合成过程 8 索引选择原则、SQL优化指导原则 9 “差”问题公式化指导原则、嵌套查询评估、“除”问题的计数方法 10 可更新连接查询规则,分析表单和报表数据要求的步骤 11 触发器执行过程 12 表单分析步骤,视图集成策略 14 管理存储过程和触发器的指导原则,数据计划过程,DBMS选择过程 15 事务时间线,事务设计指导原则 16 多维数据的关系数据库表示指导原则,多维表时间表示的指导原则,刷新数据仓库的权衡 17 分布式数据库的递增透明级别 18 对象数据库架构,关系与对象-关系表示之间的比较 示例数据库以及例子:为保持一致性和连续性,有两个示例数据库贯穿于第II部分和第V部分的章节。章节例子使用“大学”数据库,章末问题使用“订单输入”数据库。围绕这两个数据库的大量示例和问题描述查询公式化和应用程序数据要求的基本技能。这两个经过修改的数据库版本使初级和高级例子泾渭分明。本书Web站点包含用于这两个数据库的CREATE TABLE语句、示例数据、数据操纵语句和Access数据库文件。为更多呈现更广泛的业务情形,第III、IV和VII部分使用了附加数据库。通过接触多种业务情形,学习者可以掌握数据库设计技能,并了解对数据库专家至关重要的概念。其他数据库有“自来水公司业务”、“病人就诊”、“学术论文审查”、“个人理财记录”、“机票预订”、“就业指导业务”、“汽车保险”、“商店销售记录”以及“房地产销售”等数据库,以此来补充章节例子和章末问题中使用的“大学”数据库和“订单输入”数据库。 全面详尽的案例研究:第VI部分末尾是一个学生贷款有限公司案例。案例描述及其解决方案将前面12章中介绍的数据库设计和应用程序开发概念融合在一起。本章末尾的练习题为学习者提供了更多将知识运用于实践的机会。 供选用的集成实验室:将概念与使用商业DBMS设计和实现数据库的实践密切结合,是学习数据库管理的绝佳方法。Microsoft Access实验室将第II和第V部分介绍的应用程序开发概念与详尽的Access结合在一起。 免费的数据建模工具:配合第III部分章节讨论的数据建模,ER Assistant提供了绘制和分析实体关联图的简单界面。通过使用该软件,学习者能快速提高效率:不必专注于复杂CASE工具的细节,潜心考虑数据建模概念即可。为帮助学习者避免图表错误,ER Assistant支持第5章讨论的图表规则。 当前和前沿主题并存:本书收集了同类书籍缺乏的内容:高级查询公式化、可更新视图、存储过程及触发器的开发和管理、数据输入表单和报表的数据要求、视图集成、数据仓库刷新过程的管理、数据仓库成熟度模型、并行数据库架构、对象数据库架构、SQL:2003和Oracle10g中的数据仓库功能、SQL:2003和Oracle10g中的对象关系功能以及事务设计原理。这些主题使具有强烈学习愿望的学习者能更深刻地理解数据库管理知识。 完整的集成化课程包:根据课程要求,某些学习者可能要购买5本数据库入门书籍:一本讨论原理,一本详细介绍DBMS,一本分析CASE工具,一本SQL辅导书,以及一本列举具体实例的书。而本书及其配套材料为学习者提供了一个内容全面、完美结合且经济实惠的课程包。 读 者 对 象 本书是初级数据库管理书籍,面向主修或辅修信息系统的大学生,或对相关知识有浓厚兴趣的大学生。在两年制院校中,教师可能要略去高级主题,将重点更多地放在可选的Access实验室书籍上。大学生应参加过介绍一般信息系统概念、电子表格、文字处理和数据库简介的预备课程。全面学习第11章前,学习者需要具备计算机编程背景(否则只能了解基本概念)。其他章节虽然也引用某些计算机编程概念,但不涉及编码,故学习这些章节时,参加过计算机编程课程是一个有用的背景,但并不是必需的。 本书也面向MBA或信息系统理学硕士等研究生。其中的高级材料特别适用于理学硕士。 编 排 方 法 由书名可知,“数据库设计、应用程序开发和管理”重点介绍三套技能。在学习这些技能之前,学习者要具备了解基本概念的基础。第I部分为后面详细介绍数据库设计、数据库应用程序开发和数据库管理提供概念背景。第I部分的章节介绍数据库管理的原理,并且在概念层次上,简要介绍了数据库开发过程。 第II部分介绍关系数据模型的基础知识。第3章讨论表定义、完整性规则以及从关系数据库检索有用信息的操作符。第4章讨论查询公式化指导原则,并列举了大量SQL语句例子。 第III和第IV部分重点介绍数据库开发过程的实用技能和设计指导原则。有志于成为数据库专家的学习者应能完成数据库开发过程的每个步骤。应该学会数据建模、模式转换、规范化和物理数据库设计技能。第III部分(第5~6章)使用实体关联模型建立数据模型;其中,第5章介绍实体关联图的结构,第6章介绍使用实体关联图来分析业务信息需求。第IV部分(第7~8章)介绍了表设计原理以及逻辑和物理设计的实践;其中,第7章讨论数据规范化的动机、函数依赖、范式和实际考虑事项;第8章广泛介绍物理数据库设计,内容包括目标、输入、文件结构、查询优化背景和重要的设计选项。 第V部分帮助学习者掌握高级查询公式化技能,和数据输入表单和报表的数据要求规范,并帮助学习者编写触发器和存储过程代码等技能,从而为构建数据库应用程序奠定基础。第9章列举更多中高级SQL例子以及相应的查询公式化技能。第10章介绍了关系视图的动机、定义和用法,以及数据输入表单和报表的视图定义规范。第11章介绍用于自定义数据库应用程序的数据库编程语言、存储过程和触发器的概念和编码实践。 第VI部分介绍高级数据库开发主题。第12章描述视图设计和视图集成(大型数据库开发计划的数据模型概念)。第13章提供了一个全面详尽的案例研究,旨在使学习者深刻了解将数据库设计和应用程序开发技能应用于实际业务数据库的难点。 除了介绍数据库设计和应用程序开发技能外,本书还旨在帮助学习者成长为数据库专家。学习者需要了解数据管理员和数据库管理员的职责以及使用的工具和过程,还需要了解运行数据库的各种环境。 第VII部分重点介绍数据库专家的角色,以及在各种操作环境中管理数据库的详细信息。第14章通过介绍数据库管理员和数据管理员的职责以及使用的工具和过程,为其他章节提供了背景知识。第VII部分的其他章节为在重要环境中管理数据库提供了基础知识:第15章介绍事务处理,第16章讲述数据仓库,第17章讨论分布式处理和数据,第18章介绍对象数据库管理。这些章节重点讨论对数据库专家至关重要的概念、架构和设计选项。 行 文 方 式 为使学习者获得学习和了解应用程序开发、数据库设计和数据库管理的必备技能,本书秉持三个指导原则。 (1) 将概念与实践结合在一起。将概念与使用商业DBMS设计和实现数据库的实践密切结合,可以使数据库管理的学习变得更简单。本书具有以下特点,以便将概念和实践密切地结合起来: ● SQL例子的范围包括Access、Oracle和SQL:2003。 ● 重点介绍应用程序开发与查询公式化之间的关联。 ● 使用专业CASE工具支持的数据建模表示法,以及一个易用的教学工具ER Assistant。 ● 补充的实验室实践章节,该章节将课本概念与商业DBMS细节结合在一起。 (2) 重点描述解决问题的技能。描述解决问题的指导原则是本书的一大特色,目的是帮助学习者掌握数据建模、规范化、查询公式化和应用程序开发的基本技能。本书及配套补充材料提供大量可供学生运用技能的复习题、练习题、案例研究和实验室实践。熟练掌握基本数据库技能后,学习者将为未来学习数据库做好准备,并改变日常计算思考方式。 (3) 提供基础材料和高级材料。使用本书的企业学员可能具有不同的背景。本书提供的材料具有足够的深度,可以满足对知识需求最迫切的学习者的需要。同时,本书分离了高级部分,以使普通学习者可以略去这些内容。 教 学 特 点 本书具有以下教学特点,旨在帮助学生井然有序地浏览和学习章节内容: ● “学习目标”重点介绍学生通过学习相应章节可以获得的知识和技能。 ● “总览”帮助您预览相应章节的内容。 ● “例子”与章节其他材料清晰地分开,以便学习者进行复习和研究。 ● “运行数据库例子”。“大学”和“订单输入”示例数据库在页边空白处放置图标,以引起学习者对例子的注意。 ● “小结”总结与学习目标相关的章节内容。 ● “概念总汇”突出显示全章的重要概念,而不是简单的术语列表。 ● “复习题”用来复习章节概念。 ● “练习题”帮助学习者实践章节中介绍的详细技能。 ● “资源”给学习者指出有关章节内容的附加资源。 ● “附录”针对某些原理或实践,提供更多详细或简明扼要的总结。 在本书的最后,还可以看到以下的附加资源: ● “词汇表”提供全书使用的完整术语和定义列表。 另外,可以登录联机学习中心查看一系列相关的Web资源。 Access实验室 可以获取Microsoft Access97、2000、2002和2003实验室。这些实验室详述对数据库初学者至关重要的功能,以及大量高级功能。实验室章节融合了指南实践和引用材料,并编排成以下章节: (1) Microsoft Access简介 (2) 数据库创建实验室 (3) 查询实验室 (4) 单表表单实验室 (5) 层次表单实验室 (6) 报表实验室 (7) 数据透视表和数据访问页(仅限于Access 2002和2003) (8) 用户界面实验室 每个实验室章节与本书的教学方法保持一致,包含学习目标、总览、小结、补充实践练习和有用提示附录。大部分实验室章节引用本书的概念,以与相应章节密切集成。每个实验室还包含术语表和索引。 教 师 资 源 教师通过填写本书最后所附的“教辅资料申请及教师信息反馈表”可以获得本书和实验室手册的一系列综合性补充材料: ● Web站点/联机学习中心。这是一个密码保护的教师站点,包含练习题解决方案、课外作业、带演讲者注释的PowerPoint幻灯片、案例研究解决方案和实验室作业解决方案等。该站点还包含两种数据库的CREATE TABLE语句、示例数据、数据操纵语句和Access数据库文件。该站点供学生使用的内容包括完成作业和项目需要的所有数据集,以及特有的设计工具ER Assistant。 教 学 安 排 可以安排一至两个学期的课时,依多种顺序讲授本书。本书作者曾在一个学期,按应用程序开发、数据库开发和数据库处理环境的顺序讲授了本课程,这种做法的优势是首先讲述较具体的材料(应用程序开发),然后才讲述更抽象的材料(数据库开发)。实验室章节和作业用于超出本书章节范围的实践。为满足一学期课时的需要,略过了第8章以及第11~18章的高级主题。 第二种顺序首先讲述数据库开发,然后讲述应用程序开发。采用这种顺序时,可按第1、2、5、6、3、7、4、9、10章的顺序授课。第6章的模式转换内容最好放在第3章之后。这种安排允许更透彻地介绍数据库开发,而且不会忽略应用程序开发。同时,为满足一学期课时的需要,可略过第8章及第11~18章的高级主题。 第三种可能的顺序是使用两个学期的课时。第一学期讲授第I和第II部分的数据库管理基本原理,第III和第IV部分的数据建模和规范化,以及第V和第VI部分的高级查询公式化、使用视图开发应用程序和视图集成。第二学期重点介绍第IV部分包含物理数据库设计在内的数据库管理技能,第V部分的触发器和存储进程,第VII部分的处理环境,以及有关管理企业数据库的其他材料。第二学期最好使用一个综合性项目,以将应用程序开发、数据库开发和数据库管理结合起来。 学 生 资 源 ● ER Assistant:可以从联机学习中心免费下载。这个方便易用的数据建模工具用于绘制和分析ERD。 ● Aceess综合实验室:您可以根据需要选择Access97、2000、2002和2003实验室包,这些包含本书之外的其他示例数据库和练习。 ● Web站点/联机学习中心学习者中心包含学习要点,内容包括本书的学习目标、章节总览、小结和关键术语,以及自我测试题和其他有用的联机资源。