数据库系统概念(原书第5版·本科教学版)
作者 : Abraham Silberschatz;Henry F. Korth;S. Sudarshan
译者 : 杨冬青 马秀莉 唐世渭
丛书名 : 计算机科学丛书
出版日期 : 2008-03-31
ISBN : 7-111-23422-7
定价 : 45.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 402
开本 : 16开
原书名 : Database System Concepts, Fifth Edition
原出版社: McGraw-Hill
属性分类: 教材
包含CD :
绝版 :
图书简介

《数据库系统概念》是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。国际上许多著名大学包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、印度理工学院等都采用本书作为教科书。我国也有许多所大学采用本书作为本科生和研究生的数据库课程的教材和主要教学参考书,收到了良好的效果。本书基于该书第5版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生数据库课程教材。

本书特点:
  ●内容简练。保留了原书最基本的内容(第1~10章),讲述数据库系统的基本概念;对数据库系统实现技术和数据管理与应用的高级主题,进行了有选择性的介绍(第11~15章)。教师可以选择重点讲授前10章,并介绍第11~15章中的部分内容。
  ●直观易懂。采用直观的方式描述概念,以结构清晰的图示和示例代替形式化的证明。
  ●实用性强。以银行数据库实例生动地解释重要概念,通俗易懂。
  ●内容新颖。反映了数据库在设计、管理和使用方式等方面的变化及数据库概念方面的发展趋势。

图书特色

图书前言

数据库管理已经从一种专门的计算机应用发展为现代计算环境中的一个重要部分,因此,有关数据库系统的知识已成为计算机科学教育中的一个核心的部分。
本书改编目《数据库系统概念》第5版,适合作为本科生三年级或四年级数据库入门课程的教科书。在本书中,我们讲述数据库管理的基本概念,这些概念包括数据库设计、数据库语言、数据库系统实现等多个方面。除了这些作为入门课程的基本内容外,本书还包括一些可作为课程补充性材料或作为高级课程介绍性材料的高级内容。
  我们仅要求读者熟悉基本的数据结构、计算机组织结构和一种高级程序设计语言(例如Java、 C或Pascal)。书中的概念都以直观的方式加以描述,其中的许多概念都基于银行运营的例子加以阐释。本书中包括重要的理论结果,但省略了形式化证明,取而代之的是用图表和例子来说明为什么结论是正确的。对于形式化描述和研究结果的证明,读者可以参考文献注解中列出的研究论文和高级教材。
  本书中所包括的基本概念和算法通常都基于当今的商品化或试验性的数据库系统中采用的概念和算法。我们的目标是在一个通常环境下描述这些概念和算法,没有与某个特定的数据库系统绑定。
  在这本《数据库系统概念》第5版的改编版本中,我们保留了原书第5版的基本内容,压缩或删除了一些高级内容,其目的是使得改编版本更适合于本科生的数据库入门课程使用。下面我们简单描述本书内容的组织。
  本书的组织
  本书组织成五个主要部分:
 综述(第1章)。第1章对数据库系统的性质和目标进行了一般性综述。解释了数据库系统的概念是如何发展的,各数据库系统的共同特性是什么,数据库系统能为用户做什么,以及数据库系统如何与操作系统交互。这一章还引入了一个数据库应用的例子:由多个分行组成的一个银行企业。这个例子用作贯穿全书的运行实例。
 第一部分:关系数据库(第2章至第5章)。第2章介绍了数据的关系模型,包括基本概念以及关系代数。该章还给出了对完整性约束的简要介绍。第3章和第4章重点介绍最具影响力的面向用户的关系语言——SQL。第3章给出了对SQL的基本介绍;而第4章则描述了SQL的一些更高级的特性,包括编程语言和支持SQL的数据库之间如何交互。第5章介绍其他的一些关系语言,包括关系演算、QBE和Datalog。
这部分中的章节描述了数据操纵,包括查询、修改、插入和删除(假设已有一个模式设计)。
  关于模式设计的问题延迟到第二部分讲述。
 第二部分:数据库设计(第6章至第8章)。第6章给出了数据库设计过程的概要介绍,主要侧重于用实体-联系数据模型进行数据库设计。实体-联系模型为数据库设计问题以及在数据模型的约束下捕获现实应用的语义时所遇到的问题提供了一个高层视图。
  第7章介绍了关系数据库设计理论。这一章讲述了函数依赖和规范化,重点强调了提出各种范式的原因,以及它们的直观含义。这一章以关系设计的概览开始,依赖于对函数依赖的逻辑蕴涵的直观理解。在完整描述函数依赖理论之前先介绍了规范化概念,函数依赖理论在第7章稍后部分讨论。教师可以只选用71节至73节这些较前面的章节,而不会丢失连贯性。不过,完整地讲授这一章将有利于学生较好地理解规范化概念,从而进一步理解函数依赖理论中一些较艰深的概念。
  第8章讲述了应用设计和开发。这一章侧重于用基于Web的界面构建数据库应用。另外,这一章还讲述了应用安全性。
 第三部分:基于对象的数据库和XML(第9章和第10章)。第9章介绍基于对象的数据库。该章讲述了对象-关系数据模型,该模型扩展了关系数据模型以支持复杂数据类型、类型继承和对象标识。该章还描述了用面向对象的编程语言来访问数据库。
  第10章介绍数据表示的XML标准,它正日益广泛地应用于复杂数据交换和存储。这一章还描述了XML的查询语言。
 第四部分:数据存储、查询和事务管理
  (第11章至第13章)。第11章简单介绍了物理存储介质,描述了记录是如何映射到文件,然后又如何映射到磁盘中的比特的;并描述了数据库系统使用的几种索引类型。
  第12章描述了如何处理查询,给出了用于实现单独操作的算法,并描述了查询优化过程。第13章详细阐述了事务的概念,包括事务的原子性、持久性、隔离性和其他特性;介绍了几种实现隔离性的并发控制技术,并描述了数据库恢复管理部件,它实现了数据库的原子性与持久性。
 第五部分:高级话题(第14章和第15章)。第14章介绍了数据仓库的概念并解释了什么是数据挖掘和联机分析处理(OLAP),包括SQL:1999中对数据挖掘和数据仓库的支持。第15章讨论了性能评测标准、性能调整、标准化和遗产系统应用的转移。
  在练习方面,我们保持《数据库系统概念》第5版的做法,把习题划分成两部分:实践习题(practice exercise)和习题(exercise)。实践习题的
答案在《数据库系统概念》第5版的网页(http://www.db-book.com/)
可以得到。我们鼓励学生独立解决这些实践习题,然后用网页上的答案来检查自
己的答案。其他习题的答案只有讲课教师能得到(参看下面的“Web主页和教学补充材料”,以获取如何得到答案的信息)。
  讲课教师注意事项
  本书包括基本内容和一些高级内容,在一个学期内也许不能讲授所有这些内容。我们以符号“”把某些节标记为高级内容,教师可根据各自学校的实际情况,省略这些节,而仍能保持内容的连续性。较难的习题(可以忽略)同样用符号“”标记了出来。
  本书的前10章是最基本的内容,对于入门性课程来说,教师可以重点讲授前10章,并介绍第11至15章中的部分内容。
  Web主页和教学补充材料
  《数据库系统概念》的WWW主页的网址是:
http://www.db-book.com/
  该主页包括以下内容:
 所有各章的幻灯片
 实践习题的答案
 三个附录
 最新勘误表
下列附加材料仅提供给采用本书作为教材的教师:
 书中所有习题答案的教师手册
 实验材料
 模型课程的教学提纲





 

想要得到这些附加教辅资料的教师,请联络本书原版的出版方——麦格劳·希尔教育出版公

司(电话:010-62790299转108,800-810-1936;邮件instructorchina @ mcgraw-hill

 com)索要相关资料。——编辑注

封底文字

《数据库系统概念》是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。国际上许多著名大学包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、印度理工学院等都采用本书作为教科书。我国也有许多所大学采用本书作为本科生和研究生的数据库课程的教材和主要教学参考书,收到了良好的效果。本书基于该书第5版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生数据库课程教材。

本书特点:
  ●内容简练。保留了原书最基本的内容(第1~10章),讲述数据库系统的基本概念;对数据库系统实现技术和数据管理与应用的高级主题,进行了有选择性的介绍(第11~15章)。教师可以选择重点讲授前10章,并介绍第11~15章中的部分内容。
  ●直观易懂。采用直观的方式描述概念,以结构清晰的图示和示例代替形式化的证明。
  ●实用性强。以银行数据库实例生动地解释重要概念,通俗易懂。
  ●内容新颖。反映了数据库在设计、管理和使用方式等方面的变化及数据库概念方面的发展趋势。

图书序言

改 编 者 序

数据库系统是对数据进行存储、管理、处理和维护的软件系统,是现代计算环境中的一个核

心成分。随着计算机硬件、软件技术的飞速发展和计算机系统在各行各业的广泛应用,数据

库技术的发展尤其迅速,引人注目。有关数据库系统的理论和技术是计算机科学技术教育中

必不可少的部分。《数据库系统概念》是一本经典的、备受赞扬的数据库系统教科书,其内

容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它已被国际上许多著

名大学所采用,并多次再版。
我们先后将《数据库系统概念》一书的第3版、第4版和第5版译成中文,由机械工业出版社



别于2000年春季、2003年春季和2006年秋季出版发行。国内许多大学采用《数据库系统概念

》作为本科生和研究生数据库课程的教材或主要教学参考书,收到了良好的效果。
本书基于《数据库系统概念》第5版进行改编,保留其中的基本内容,压缩或删除了一些高

级内容,其目的是使它更适合于本科生的数据库课程教学需要。
本书的前10章是最基本的内容,讲述数据库系统的基本概念,包括对数据库系统的性质和目

标的综述,对关系数据模型和关系语言的介绍,对数据库设计过程、关系数据库理论以及数

据库应用设计和开发(包括Web应用和安全问题等)的详细讨论。这一部分中还介绍了新型的

数据库系统——对象-关系数据库,以及XML数据库设计和查询的相关内容(包括对XML Schem

a和XQuery的更深入的描述和对SQL/XML标准的介绍)。本书可作为大学本科数据库概论课程

的教材或主要参考资料,教师可以重点讲授前10章,并介绍第11至15章中的部分内容。


限于改编者水平,改编中疏漏和错误难免,欢迎批评指正。
杨冬青2007年于北京大学

作者简介

Abraham Silberschatz;Henry F. Korth;S. Sudarshan:Abraham Silberschatz: 在纽约州立大学石溪分校获得博士学位,现任新泽西州Murray Hill贝尔实验室信息科学研究中心副主席,ACM和额IEEE会员。他的研究方向包括操作系统、数据库和分布式操作系统。著有《操作系统概念》、《数据库系统概念》等。
Henry F. Korth: 于普林斯顿大学获得博士学位,现为美国里海大学教授,曾任贝尔实验室信息科学研究中心数据库原理研究室主任,ACM会员和IEEE高级成员。他的研究方向包括高性能数据库系统、实时数据库系统和XML数据库。
S. Sudarshan: 于威斯康星大学麦迪逊分校获得博士学位,现任印度理工学院(孟买)计算机科学与工程系副教授。他曾是AT&T贝尔实验室的技术人员。他的研究方向包括查询处理和优化、故障恢复和主存数据库。

译者简介

杨冬青 马秀莉 唐世渭:杨冬青: 1969年毕业于北京大学数学力学系数学专业,现任北京大学信息科学技术学院教授,博士生导师,网络与信息系统研究所副所长,数据库与信息系统研究室主任,中国计算机学会数据库专委会委员。多年来承担并完成973、863国家科技攻关、国家自然科学基金等多项国家重点科研项目;曾获国家科技进步二等奖、三等奖和多项省部级奖励;在国内外科技杂志及会议上发表论文百余篇,著译作十余部。目前的主要研究方向为数据库系统实现技术、Web环境下的信息集成与共享、数据仓库和数据挖掘、典型应用领域的数据库技术等。
马秀莉: 博士,1972年出生,2003年毕业于北京大学信息科学技术学院,获理学博士学位。先后参加过多项国家自然科学基金项目、国家重点基础研究发展规划(973)课题等科研项目及典型应用领域的应用研究项目;在国内外科技杂志及国际会议发表论文近20篇。主要研究领域为数据库系统实现技术、数据仓库、联机分析处理、数据挖掘等。
唐世渭: 1964年毕业于北京大学数学力学系计算数学专业,毕业后留校任教至今,现为北京大学信息科学技术学院教授,博士生导师,中国计算机学会数据库专委会副主任。多年来承担并完成973、863国家科技攻关、国家自然科学基金等多项国家重点科研项目;曾获国家科技进步二等奖、三等奖各1项;省部级科技进步奖多项;在国内外科技杂志及会议上发表论文百余篇,著译作多部。至今已培养硕士、博士、博士后60余名。目前,主要的研究方向为数据库系统、数据仓库和数据挖掘、Web环境下的信息集成与共享、典型应用领域的信息系统等

图书目录

目  录
改编者序
前言
第1章 引言

11 数据库系统的应用

12 数据库系统的目标

13 数据视图

131 数据抽象

132 实例和模式



133 数据模型

14 数据库语言

141 数据操纵语言

142 数据定义语言

15 关系数据库

151 表

152 数据操纵语言

153 数据定义语言

154 来自应用程序的数据库
访问

16 数据库设计

161 设计过程

162 银行企业的数据库设计



163 实体-联系模型

164 规范化

17 基于对象数据库和半结构化数据库




171 基于对象数据模型

172 半结构化数据模型

18 数据存储和查询

181 存储管理器

182 查询处理器

19 事务管理

110 数据挖掘与分析

111 数据库体系结构

112 数据库用户和管理员

1121 数据库用户和用户界面



1122 数据库管理员

113 数据库系统的历史

114 小结

术语回顾

实践习题

习题

文献注解
工具



第一部分 关系数据库




第2章 关系模型
21 关系数据库的结构
211 基本结构
212 数据库模式
213 码
214 查询语言
22 关系代数基本运算
221 选择运算
222 投影运算
223 并运算
224 集合差运算
225 笛卡儿积运算
226 更名运算
227 关系代数的形式化定义


23 附加的关系代数运算
231 集合交运算
232 自然连接运算
233 除运算
234 赋值运算
24 扩展的关系代数运算
241 广义投影
242 聚集函数
243 外连接
25 空值
26 数据库的修改
261 删除
262 插入
263 更新
27 小结

术语回顾
实践习题
习题
文献注解






第3章 SQL
31 背景
32 数据定义
321 基本域类型

322 SQL中的基本模式定义



33 SQL查询的基本结构
331 select子句
332 where子句
333 from子句
334 更名运算
335 元组变量
336 字符串运算
337 排列元组的显示次序


338 重复
34 集合运算
341 union运算
342 intersect运算
343 except运算
35 聚集函数
36 空值
37 嵌套子查询
371 集合成员资格
372 集合的比较
373 测试是否为空关系
374 测试是否存在重复元组


38 复杂查询
381 派生关系
382 with子句
39 视图
391 视图定义
392 用其他视图定义视图
310 数据库的修改
3101 删除
3102 插入
3103 更新
3104 视图的更新
3105 事务
311 连接关系**


3111 举例
3112 连接类型和条件
312 小结
术语回顾
实践习题
习题
文献注解



第4章 高级SQL
41 SQL的数据类型与模式
411 SQL中内建的数据类型


412 用户定义类型
413 大对象类型
414 模式、 目录与环境
42 完整性约束
421 单个关系上的约束
422 not null约束
423 unique约束

424 check子句
425 参照完整性
426 断言

43 授权
44 嵌入式SQL
45 动态SQL
451 ODBC
452 JDBC
46 函数和过程化结构**


461 SQL函数和过程
462 过程化结构
463 外部语言例程
47 递归查询**


471 使用迭代的传递闭包
472 SQL中的递归
48 高级SQL特性**


481 create table的扩展
482 关于子查询的更多内容


483 数据库更新的高级结构


49 小结
术语回顾
实践习题
习题
文献注解






第5章 其他关系语言

51 元组关系演算

511 查询的例子

512 形式化定义

513 表达式的安全性

514 语言的表达能力

52 域关系演算

521 形式化定义

522 查询的例子

523 表达式的安全性

524 语言的表达能力

53 QBE

531 框架表

532 在单个关系上的查询

533 在多个关系上的查询

534 条件框

535 结果关系

536 在Microsoft Access中的QBE



54 Datalog

541 基本结构

542 Datalog规则的语法

543 非递归Datalog的语义



544 安全性

545 Datalog中的关系运算



546 Datalog中的递归

547 递归的能力

55 小结

术语回顾

实践习题

习题

文献注解
工具


第二部分 数据库设计





第6章 数据库设计和E-R模型

61 设计过程概览

611 设计阶段

612 设计选择

62 实体-联系模型

621 实体集

622 联系集

623 属性

63 约束

631 映射基数

632 码

633 参与约束

64 实体-联系图

65 实体-联系设计问题

651 用实体集还是用属性

652 用实体集还是用联系集



653 二元联系集与n元联系集



654 联系属性的布局

66 弱实体集

67 扩展E-R特性

671 特殊化

672 一般化

673 属性继承

674 一般化上的约束

675 聚集

676 可选择的E-R符号

68 银行企业的数据库设计

681 E-R设计的可选方案

682 银行数据库的数据需求



683 银行数据库中的实体集



684 银行数据库中的联系集



685 银行数据库中的E-R图



69 转换为关系模式

691 强实体集的表示方式

692 弱实体集的表示方式

693 联系集的表示方式

694 复合属性和多值属性

695 一般化的表示方式

696 聚集的表示方式

697 银行企业的关系模式

610 数据库设计的其他方面

6101 数据约束和关系数据库设计



6102 使用需求: 查询和性能



6103 授权需求

6104 数据流、 工作流

6105 数据库设计的其他问题




611 小结

术语回顾


实践习题

习题

文献注解
工具





第7章 关系数据库设计

71 好的关系设计的特点

711 设计选择: 更大的模式



712 设计选择: 更小的模式



72 原子域和第一范式

73 使用函数依赖的分解

731 码和函数依赖

732 Boyce-Codd范式

733 BCNF和保持依赖

734 第三范式

735 更高的范式

74 函数依赖理论

741 函数依赖集的闭包
742 属性集的闭包

743 正则覆盖

744 无损分解

745 保持依赖

75 用于分解的算法

751 BCNF分解
752 3NF分解

753 BCNF和3NF的比较

76 使用多值依赖的分解

761 多值依赖

762 第四范式

763 4NF分解

77 更多的范式

78 数据库设计过程

781 E-R模型和规范化
782 属性和联系的命名

783 为了性能解除规范化

784 其他设计问题

79 时态数据建模

710 小结

术语回顾

实践习题

习题

文献注解



第8章 应用设计和开发

81 用户界面和工具

811 表格和图形用户界面

812 报表生成器

82 数据库的Web界面

83 Web基础

831 统一资源定位符



832 超文本标记语言
833 客户端脚本和applet

834 Web服务器和会话

84 servlet和JSP

841 一个servlet的例子

842 servlet会话

843 servlet的生命周期

844 servlet支持

845 服务器端脚本

85 建立大型Web应用

851 构建Web界面

852 Microsoft ASP

853 提高应用程序性能

86 触发器

861 对触发器的需求

862 SQL中的触发器

863 何时不用触发器

87 SQL中的授权

871 权限的授予

872 在SQL中授权
873 角色

874 收回权限

875 视图、 函数和过程的授权



876 SQL授权的局限

877 审计追踪

88 应用系统安全性

881 加密技术

882 数据库中的加密支持

883 鉴定

884 保护应用程序

885 隐私

89 小结

术语回顾

实践习题

习题

项目建议

文献注解

工具



第三部分 基于对象的数据库和XML




第9章 基于对象的数据库
91 概述
92 复杂数据类型
93 SQL中的结构类型和继承
931 结构类型
932 类型继承
94 表继承
95 SQL中的数组和多重集合类型








951 创建和访问集合体值

952 查询以集合体为值的属性


953 嵌套和解除嵌套

96 对象标识和SQL中的引用类型


97 O-R特性的实现
98 持久化程序设计语言
981 对象的持久化
982 对象标识和指针
983 持久对象的存储和访问


984 持久化C++系统


985 持久化Java系统
99 面向对象与对象-关系
910 小结
术语回顾
实践习题
习题
文献注解

工具



第10章 XML
101 动机
102 XML数据的结构
103 XML文档模式
1031 文档类型定义
1032 XML Schema
104 查询和转换
1041 XPath
1042 XQuery
1043 XSLT**


105 XML应用程序接口
106 XML数据的存储
1061 非关系的数据存储
1062 关系数据库
1063 SQL/XML
107 XML应用
1071 存储复杂结构的数据


1072 标准化数据交换格式


1073 Web服务
1074 数据中介
108 小结
术语回顾
实践习题
习题
文献注解

工具

第四部分 数据存储、查询和事务管理



第11章 数据存储和数据存取

111 物理存储介质概述
112 磁盘
1121 磁盘的物理特性
1122 磁盘性能的度量
1123 磁盘块访问的优化
113 存储访问和缓冲区

1131 缓冲区管理器

1132 缓冲区替换策略

114 文件和记录的组织
1141 文件组织

1142 文件中记录的组织
115 数据字典存储
116 索引的基本概念
117 顺序索引
1171 稠密索引和稀疏索引


1172 多级索引

1173 辅助索引

118 B+树索引文件
1181 B+树的结构
1182 B+树的查询

1183 B+树的更新
119 散列文件组织和散列索引


1191 散列函数

1192 桶溢出处理

1193 散列索引
1194 动态散列
1195 顺序索引和散列的比较


1110 SQL中的索引定义
1111 小结
术语回顾
实践习题
习题
文献注解

第12章 查询处理和查询优化
121 概述
122 查询代价的度量
123 关系代数运算的执行
1231 选择运算
1232 连接运算
124 表达式计算
1241 实体化
1242 流水线
125 查询优化
1251 查询优化概述
1252 关系表达式的转换
1253 表达式结果集统计大小的
估计
1254 选择执行计划
126 小结
术语回顾
实践习题
习题
文献注解

第13章 事务管理
131 事务概念
132 事务的并发执行和调度
1321 并发执行
1322 可串行化
1323 可恢复性
133 并发控制
1331 基于锁的协议
1332 基于时间戳的协议
1333 基于有效性检查的协议


134 恢复系统
1341 故障分类
1342 数据访问
1343 基于日志的恢复
135 小结

术语回顾
实践习题
习题
文献注解
第五部分 高 级 话 题



第14章 数据分析与挖掘
141 决策支持系统
142 数据分析和联机分析处理


1421 联机分析处理

1422 OLAP实现
143 数据仓库工程
1431 数据仓库的成分

1432 数据仓库模式
144 数据挖掘
1441 数据挖掘应用

1442 分类

1443 关联规则
1444 其他类型的关联
1445 聚类

1446 其他类型的挖掘
145 小结
术语回顾
实践习题
习题
文献注解
工具

第15章 高级应用开发
151 性能调整
1511 瓶颈的位置
1512 可调参数
1513 硬件的调整
1514 模式的调整
1515 索引的调整
1516 使用物化视图
1517 物理设计的自动调整


1518 事务的调整
1519 性能模拟
152 性能基准程序
1521 任务集
1522 数据库应用类型
1523 TPC基准程序
1524 OODB基准程序
153 标准化
1531 SQL标准
1532 数据库连接标准
1533 对象数据库标准
1534 基于XML的标准
154 应用系统移植
155 小结
术语回顾
实践习题
习题
文献注解

教学资源推荐
作者: 张玉洁 孟祥武 编著
作者: [葡]路易斯· 托尔戈(Luís Torgo)著
作者: 彭智勇 彭煜玮 编著