本书是数据库系统方面的经典教材之一。国际上许多著名大学包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、印度理工学院等都采用本书作为教科书。我国也有许多所大学采用本书以前版本的中文版作为本科生和研究生的数据库课程的教材和主要教学参考书,收到了良好的效果。
Database System Concepts,6E
出版者的话
译者序
前言
第1章引言
11数据库系统的应用
12数据库系统的目标
13数据视图
131数据抽象
132实例和模式
133数据模型
14数据库语言
141数据操纵语言
142数据定义语言
15关系数据库
151表
152数据操纵语言
153数据定义语言
154来自应用程序的数据库访问
16数据库设计
161设计过程
162大学机构的数据库设计
163实体-联系模型
164规范化
17数据存储和查询
171存储管理器
172查询处理器
18事务管理
19数据库体系结构
110数据挖掘与信息检索
111特种数据库
1111基于对象的数据模型
1112半结构化数据模型
112数据库用户和管理员
1121数据库用户和用户界面
1122数据库管理员
113数据库系统的历史
114总结
术语回顾
实践习题
习题
工具
文献注解
第一部分关系数据库
第2章关系模型介绍
21关系数据库的结构
22数据库模式
23码
24模式图
25关系查询语言
26关系运算
27总结
术语回顾
实践习题
习题
文献注解
第3章SQL
31SQL查询语言概览
32SQL数据定义
321基本类型
322基本模式定义
33SQL查询的基本结构
331单关系查询
332多关系查询
333自然连接
34附加的基本运算
341更名运算
342字符串运算
343select子句中的属性说明
344排列元组的显示次序
345where子句谓词
35集合运算
351并运算
352交运算
353差运算
36空值
37聚集函数
371基本聚集
372分组聚集
373having子句
374对空值和布尔值的聚集
38嵌套子查询
381集合成员资格
382集合的比较
383空关系测试
384重复元组存在性测试
385from子句中的子查询
386with子句
387标量子查询
39数据库的修改
391删除
392插入
393更新
310总结
术语回顾
实践习题
习题
工具
文献注解
第4章中级SQL
41连接表达式
411连接条件
412外连接
413连接类型和条件
42视图
421视图定义
422SQL查询中使用视图
423物化视图
424视图更新
43事务
44完整性约束
441单个关系上的约束
442not null约束
443unique约束
444check子句
445参照完整性
446事务中对完整性约束的违反
447复杂check条件与断言
45SQL的数据类型与模式
451SQL中的日期和时间类型
452默认值
453创建索引
454大对象类型
455用户定义的类型
456create table的扩展
457模式、与环境
46授权
461权限的授予与收回
462角色
463视图的授权
464模式的授权
465权限的转移
466权限的收回
47总结
术语回顾
实践习题
习题
文献注解
第5章高级SQL
51使用程序设计语言访问数据库
511JDBC
512ODBC
513嵌入式SQL
52函数和过程
521声明和调用SQL函数和过程
522支持过程和函数的语言构造
523外部语言过程
53触发器
531对触发器的需求
532SQL中的触发器
533何时不用触发器
54递归查询**
541用迭代来计算传递闭包
542SQL中的递归
55高级聚集特性**
551排名
552分窗
56OLAP**
561联机分析处理
562交叉表与关系表
563SQL中的OLAP
57总结
术语回顾
实践习题
习题
工具
文献注解
第6章形式化关系查询语言
61关系代数
611基本运算
612关系代数的形式化定义
613附加的关系代数运算
614扩展的关系代数运算
62元组关系演算
621查询示例
622形式化定义
623表达式的安全性
624语言的表达能力
63域关系演算
631形式化定义
632查询的例子
633表达式的安全性
634语言的表达能力
64总结
术语回顾
实践习题
习题
文献注解
第二部分数据库设计
第7章数据库设计和ER模型
71设计过程概览
711设计阶段
712设计选择
72实体-联系模型
721实体集
722联系集
723属性
73约束
731映射基数
732参与约束
733码
74从实体集中删除冗余属性
75实体-联系图
751基本结构
752映射基数
753复杂的属性
754角色
755非二元的联系集
756弱实体集
757大学的ER图
76转换为关系模式
761具有简单属性的强实体集的表示
762具有复杂属性的强实体集的表示
763弱实体集的表示
764联系集的表示
77实体-联系设计问题
771用实体集还是用属性
772用实体集还是用联系集
773二元还是n元联系集
774联系属性的布局
78扩展的ER特性
781特化
782概化
783属性继承
784概化上的约束
785聚集
786转换为关系模式
79数据建模的其他表示法
791ER图的其他表示法
792统一建模语言UML
710数据库设计的其他方面
7101数据约束和关系数据库设计
7102使用需求:查询、性能
7103授权需求
7104数据流、工作流
7105数据库设计的其他问题
711总结
术语回顾
实践习题
习题
工具
文献注解
第8章关系数据库设计
81好的关系设计的特点
811设计选择:更大的模式
812设计选择:更小的模式
82原子域和第一范式
83使用函数依赖进行分解
831码和函数依赖
832BoyceCodd范式
833BCNF和保持依赖
834第三范式
835更高的范式
84函数依赖理论
841函数依赖集的闭包
842属性集的闭包
843正则覆盖
844无损分解
845保持依赖
85分解算法
851BCNF分解
8523NF分解
8533NF算法的正确性
854BCNF和3NF的比较
86使用多值依赖的分解
861多值依赖
862第四范式
8634NF分解
87更多的范式
88数据库设计过程
881ER模型和规范化
882属性和联系的命名
883为了性能去规范化
884其他设计问题
89时态数据建模
810总结
术语回顾
实践习题
习题
文献注解
第9章应用设计和开发
91应用程序和用户界面
92Web基础
921统一资源定位符
922超文本标记语言
923Web服务器和会话
93servlet和JSP
931一个servlet的例子
932servlet会话
933servlet的生命周期
934servlet支持
935服务器端脚本
936客户端脚本
94应用架构
941业务逻辑层
942数据访问层和对象-关系映射
943Web服务
944断连操作
95快速应用开发
951构建用户界面的工具
952Web应用框架
953报表生成器
96应用程序性能
961利用缓存减少开销
962并行处理
97应用程序安全性
971SQL注入
972跨站点脚本和请求伪造
973密码泄露
974应用程序认证
975应用级授权
976审计追踪
977隐私
98加密及其应用
981加密技术
982数据库中的加密支持
983加密和认证
99总结
术语回顾
实践习题
习题
项目建议
工具
文献注解
第三部分数据存储和查询
第10章存储和文件结构
101物理存储介质概述
102磁盘和快闪存储器
1021磁盘的物理特性
1022磁盘性能的度量
1023磁盘块访问的优化
1024快闪存储
103RAID
1031通过冗余提高可靠性
1032通过并行提高性能
1033RAID级别
1034RAID级别的选择
1035硬件问题
1036其他的RAID应用
104第三级存储
1041光盘
1042磁带
105文件组织
1051定长记录
1052变长记录
106文件中记录的组织
1061顺序文件组织
1062多表聚簇文件组织
107数据字典存储
108数据库缓冲区
1081缓冲区管理器
1082缓冲区替换策略
109总结
术语回顾
实践习题
习题
文献注解
第11章索引与散列
111基本概念
112顺序索引
1121稠密索引和稀疏索引
1122多级索引
1123索引的更新
1124辅助索引
1125多码上的索引
113B+树索引文件
1131B+树的结构
1132B+树的查询
1133B+树的更新
1134不唯一的搜索码
1135B+树更新的复杂性
114B+树扩展
1141B+树文件组织
1142辅助索引和记录重定位
1143字符串上的索引
1144B+树索引的批量加载
1145B树索引文件
1146闪存
115多码访问
1151使用多个单码索引
1152多码索引
1153覆盖索引
116静态散列
1161散列函数
1162桶溢出处理
1163散列索引
117动态散列
1171数据结构
1172查询和更新
1173静态散列与动态散列比较
118顺序索引和散列的比较
119位图索引
1191位图索引结构
1192位图操作的高效实现
1193位图和B+树
1110SQL中的索引定义
1111总结
术语回顾
实践习题
习题
文献注解
第12章查询处理
121概述
122查询代价的度量
123选择运算
1231使用文件扫描和索引的选择
1232涉及比较的选择
1233复杂选择的实现
124排序
1241外部排序归并算法
1242外部排序归并的代价分析
125连接运算
1251嵌套循环连接
1252块嵌套循环连接
1253索引嵌套循环连接
1254归并连接
1255散列连接
126其他运算
1261去除重复
1262投影
1263集合运算
1264外连接
1265聚集
127表达式计算
1271物化
1272流水线
128总结
术语回顾
实践习题
习题
文献注解
第13章查询优化
131概述
132关系表达式的转换
1321等价规则
1322转换的例子
1323连接的次序
1324等价表达式的枚举
133表达式结果集统计大小的估计
1331信息
1332选择运算结果大小的估计
1333连接运算结果大小的估计
1334其他运算的结果集大小的估计
1335不同取值个数的估计
134执行计划选择
1341基于代价的连接顺序选择
1342采用等价规则的基于代价的优化器
1343启发式优化
1344嵌套子查询的优化**
135物化视图**
1351视图维护
1352增量的视图维护
1353查询优化和物化视图
1354物化视图和索引选择
136查询优化中的高级话题**
1361topK优化
1362连接极小化
1363更新的优化
1364多查询优化和共享式扫描
1365参数化查询优化
137总结
术语回顾
实践习题
习题
文献注解
第四部分事务管理
第14章事务
141事务概念
142一个简单的事务模型
143存储结构
144事务原子性和持久性
145事务隔离性
146可串行化
147事务隔离性和原子性
1471可恢复调度
1472无级联调度
148事务隔离性级别
149隔离性级别的实现
1491锁
1492时间戳
1493多版本和快照隔离
1410事务的SQL语句表示
1411总结
术语回顾
实践习题
习题
文献注解
第15章并发控制
151基于锁的协议
1511锁
1512锁的授予
1513两阶段封锁协议
1514封锁的实现
1515基于图的协议
152死锁处理
1521死锁预防
1522死锁检测与恢复
153多粒度
154基于时间戳的协议
1541时间戳
1542时间戳排序协议
1543Thomas写规则
155基于有效性检查的协议
156多版本机制
1561多版本时间戳排序
1562多版本两阶段封锁
157快照隔离
1571更新事务的有效性检验步骤
1572串行化问题
158插入操作、删除操作与谓词读
1581删除
1582插入
1583谓词读和幻象现象
159实践中的弱一致性级别
1591二级一致性
1592游标稳定性
1593跨越用户交互的并发控制
1510索引结构中的并发**
1511总结
术语回顾
实践习题
习题
文献注解
第16章恢复系统
161故障分类
162存储器
1621稳定存储器的实现
1622数据访问
163恢复与原子性
1631日志记录
1632数据库修改
1633并发控制和恢复
1634事务提交
1635使用日志来重做和撤销事务
1636检查点
164恢复算法
1641事务回滚
1642系统崩溃后的恢复
165缓冲区管理
1651日志记录缓冲
1652数据库缓冲
1653操作系统在缓冲区管理中的作用
1654模糊检查点
166非易失性存储器数据丢失的故障
167锁的提前释放和逻辑undo操作
1671逻辑操作
1672逻辑undo日志记录
1673有逻辑undo的事务回滚
1674逻辑undo中的并发问题
168ARIES**
1681数据结构
1682恢复算法
1683其他特性
169远程备份系统
1610总结
术语回顾
实践习题
习题
文献注解
第五部分系统体系结构
第17章数据库系统体系结构
171集中式与客户-服务器体系结构
1711集中式系统
1712客户-服务器系统
172服务器系统体系结构
1721事务服务器
1722数据服务器
1723基于云的服务器
173并行系统
1731加速比和扩展比
1732互连网络
1733并行数据库体系结构
174分布式系统
1741分布式数据库示例
1742实现问题
175网络类型
1751局域网
1752广域网
176总结
术语回顾
实践习题
习题
文献注解
第18章并行数据库
181引言
182I/O并行
1821划分技术
1822划分技术比较
1823偏斜处理
183查询间并行
184查询内并行
185操作内并行
1851并行排序
1852并行连接
1853其他关系运算
1854运算的并行计算代价
186操作间并行
1861流水线并行
1862独立并行
187查询优化
188并行系统设计
189多核处理器的并行性
1891并行性与原始速度
1892高速缓冲存储器和多线程
1893适应现代体系架构的数据库系统设计
1810总结
术语回顾
实践习题
习题
文献注解
第19章分布式数据库
191同构和异构数据库
192分布式数据存储
1921数据复制
1922数据分片
1923透明性
193分布式事务
1931系统结构
1932系统故障模式
194提交协议
1941两阶段提交
1942三阶段提交
1943事务处理的可选择性模型
195分布式数据库中的并发控制
1951封锁协议
1952时间戳
1953弱一致性级别的复制
1954死锁处理
196可用性
1961基于多数的方法
1962读一个、写所有可用的方法
1963站点重建
1964与远程备份的比较
1965协调器的选择
1966为可用性而牺牲一致性
197分布式查询处理
1971查询转换
1972简单的连接处理
1973半连接策略
1974利用并行性的连接策略
198异构分布式数据库
1981数据统一视图
1982查询处理
1983多数据库中的事务管理
199基于云的数据库
1991云上的数据存储系统
1992云上的传统数据库
1993基于云的数据库的挑战
1910系统
19101访问协议
19102LDAP:轻量级访问协议
1911总结
术语回顾
实践习题
习题
文献注解
第六部分数据仓库、数据挖掘与信息检索
第20章数据仓库与数据挖掘
201决策支持系统
202数据仓库
2021数据仓库成分
2022数据仓库模式
2023面向列的存储
203数据挖掘
204分类
2041决策树分类器
2042其他类型的分类器
2043回归
2044分类器验证
205关联规则
206其他类型的关联
207聚类
208其他类型的数据挖掘
209总结
术语回顾
实践习题
习题
工具
文献注解
第21章信息检索
211概述
212使用术语的相关性排名
2121使用TFIDF的排名方法
2122基于相似性的检索
213使用超链接的相关性
2131流行度排名
2132PageRank
2133其他的流行度度量
2134搜索引擎作弊
2135将TFIDF和流行度排名度量方法结合
214同义词、多义词和本体
215文档的索引
216检索的有效性度量
217Web的抓取和索引
218信息检索:网页排名之外
2181查询结果的多样化
2182信息抽取
2183问答系统
2184查询结构化数据
219与分类
2110总结
术语回顾
实践习题
习题
工具
文献注解
第七部分特种数据库
第22章基于对象的数据库
221概述
222复杂数据类型
223SQL中的结构类型和继承
2231结构类型
2232类型继承
224表继承
225SQL中的数组和多重集合类型
2251创建和访问集合体值
252查询以集合体为值的属性
2253嵌套和解除嵌套
226SQL中的对象标识和引用类型
227OR特性的实现
228持久化程序设计语言
2281对象的持久化
2282对象标识和指针
2283持久对象的存储和访问
2284持久化C++系统
2285持久化Java系统
229对象-关系映射
2210面向对象与对象-关系
2211总结
术语回顾
实践习题
习题
工具
文献注解
第23章XML
231动机
232XML数据结构
233XML文档模式
2331文档类型定义
2332XML Schema
234查询和转换
2341XML树模型
2342XPath
2343XQuery
235XML应用程序接口
236XML数据存储
2361非关系的数据存储
2362关系数据库
2363SQL/XML
237XML应用
2371存储复杂结构数据
2372标准化数据交换格式
2373Web服务
2374数据中介
238总结
术语回顾
实践习题
习题
工具
文献注解
第八部分高级主题
第24章高级应用开发
241性能调整
2411提高面向集合的特性
2412批量加载和更新的调整
2413瓶颈位置
2414可调参数
2415硬件调整
2416模式调整
2417索引调整
2418使用物化视图
2419物理设计的自动调整
24110并发事务调整
24111性能模拟
242性能基准程序
2421任务集
2422数据库应用类型
2423TPC基准程序
243应用系统开发的其他问题
2431应用系统测试
2432应用系统移植
244标准化
2441SQL标准
2442数据库连接标准
2443对象数据库标准
2444基于XML的标准
245总结
术语回顾
实践习题
习题
文献注解
第25章时空数据和移动性
251动机
252数据库中的时间
2521SQL中的时间规范
2522时态查询语言
253空间与地理数据
2531几何信息表示
2532设计数据库
2533地理数据
2534空间查询
2535空间数据的索引
254多媒体数据库
2541多媒体数据格式
2542连续媒体数据
2543基于相似性的检索
255移动性和个人数据库
2551移动计算模型
2552路由和查询处理
2553广播数据
2554连接断开与一致性
256总结
术语回顾
实践习题
习题
文献注解
26章高级事务处理
261事务处理监控器
2611TP监控器体系结构
2612使用TP监控器进行应用协调
262事务工作流
2621工作流说明
2622工作流的故障原子性需求
2623工作流执行
2624工作流恢复
2625工作流管理系统
263电子商务
2631电子
2632市场
2633订单结算
264主存数据库
265实时事务系统
266长事务
2661不可串行化的执行
2662并发控制
2663嵌套事务和多级事务
2664补偿事务
2665实现问题
267总结
术语回顾
实践习题
习题
文献注解
第九部分实例研究
第27章PostgreSQL
271概述
272用户界面
2721交互式终端界面
2722图形界面
2723编程语言接口
273SQL变化和扩展
2731PostgreSQL类型
2732规则和其他主动数据库特征
2733可扩展性
274PostgreSQL中的事务管理
2741PostgreSQL的并发控制
2742恢复
275存储和索引
2751表
2752索引
276查询处理和优化
2761查询重写
2762查询规划和优化
2763查询执行器
2764触发器和约束
277系统结构
文献注解
第28章Oracle
281数据库设计和查询工具
2811数据库和应用设计工具
2812查询工具
282SQL的变化和扩展
2821对象-关系特性
2822Oracle XML DB
2823过程化语言
2824维度
2825联机分析处理
2826触发器
283存储和索引
2831表空间
2832段
2833表
2834索引
2835位图索引
2836基于函数的索引
2837连接索引
2838域索引
2839划分
28310物化视图
284查询处理和优化
2841执行方法
2842优化
2843并行执行
2844结果高速缓存
285并发控制与恢复
2851并发控制
2852恢复的基本结构
2853Oracle数据卫士
286系统体系结构
2861专用服务器:内存结构
2862专用服务器:进程结构
2863共享服务器
2864Oracle Real Application Clusters
2865自动存储管理器
2866Oracle Exadata
287复制、分布以及外部数据
2871复制
2872分布式数据库
2873外部数据源
288数据库管理工具
2881Oracle企业管理器
2882自动工作负载存储
2883数据库资源管理
289数据挖掘
文献注解
第29章IBM DB2 Universal Database
291概述
292数据库设计工具
293SQL的变化和扩展
2931XML特性
2932数据类型的支持
2933用户自定义函数和方法
2934大对象
2935索引扩展和约束
2936Web服务
2937其他特性
294存储和索引
2941存储体系结构
2942缓冲池
2943表、记录和索引
295多维聚簇
2951块索引
2952块映射
2953设计考虑
2954对现有技术的影响
296查询处理和优化
2961存取方法
2962连接、聚集和集合运算
2963对复杂SQL处理的支持
2964多处理器查询处理特性
2965查询优化
297物化的查询表
2971查询路由到MQT
2972MQT的维护
298DB2中的自治特性
2981配置
2982优化
299工具和实用程序
2910并发控制和恢复
29101并发与隔离
29102提交与回滚
29103日志与恢复
2911系统体系结构
2912复制、分布和外部数据
2913商务智能特性
文献注解
30章Microsoft SQL Server
301管理、设计和查询工具
3011数据库开发和可视化数据库工具
3012数据库查询和调优工具
3013SQL Server Management Studio
302SQL变化和扩展
3021数据类型
3022查询语言增强
3023例程
3024带过滤的索引
303存储和索引
3031文件组
3032文件组内的空间管理
3033表
3034索引
3035分区
3036在线创建索引
3037扫描和预读
3038压缩
304查询处理和优化
3041编译处理概述
3042查询简化
3043重排序和基于代价的优化
3044更新计划
3045优化时的数据分析
3046部分搜索和启发式搜索
3047查询执行
305并发与恢复
3051事务
3052封锁
3053恢复和可用性
306系统体系结构
3061服务器上的线程池
3062内存管理
3063安全性
307数据访问
308分布式异构查询处理
309复制
3091复制模型
3092复制选项
3010NET中的服务器编程
30101NET基本概念
30102SQL CLR宿主
30103可扩展性协定
3011XML支持
30111本地存储和组织XML
30112查询和更新XML数据类型
30113XQuery表达式的执行
3012SQL Server服务代理
3013商务智能
30131SQL Server集成服务
30132SQL Server分析服务
30133SQL Server报表服务
文献注解
第十部分附录
附录A详细的大学模式
参考文献
索引