书籍详情

数据库系统概念

数据库系统概念

作者:(美)西尔伯沙茨 著;杨冬青、马秀莉等译 译

出版社:机械工业出版社

出版时间:2006-10-01

ISBN:9787111196877

定价:¥69.50

购买这本书可以去
内容简介
  本书是数据库系统方面的经典教材之一。国际上许多著名大学包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学、印度理工学院等都采用本书作为教科书。我国也有许多所大学采用本书以前版本的中文版作为本科生和研究生的数据库课程的教材和主要教学参考书,收到了良好的效果。本书调整和新增内容:调整了第4版的讲授顺序。首先介绍SQL及其高级特性,使学生容易接受数据库设计的概念。新增数据库设计的专门讨论。彻底改写和更新了基于对象的数据库和XML的相关内容。重新组织数据挖掘和信息检索的内容,增加了对数据库系统PostgreSQL的实例研究。本书特点:综合全面。涵盖了数据模型、关系模型、基于对象的数据库和XML、数据存储和查询、事务管理、数据库系统体系结构等方面的内容。直观易懂。采用直观的方式描述概念,以结构清晰的图示和示例代替形式化的证明。实用性强。以银行数据库实例生动地解释重要概念,通俗易懂。内容新颖。反映了数据库在设计、管理和使用方式等方面的变化及数据库概念方面的发展趋势。深入研究实例。提供四个领先的数据库系统PostgreSQL、Oracle、IBM DB2和Microsoft SQL Server的实例研究。本书是经典的数据库系统教科书《Database System Concepts》的最新修订版,全面介绍数据库系统的各种知识,透彻阐释数据库管理的基本概念。本书内容丰富,不仅讨论了数据库查询语言、模式设计、数据仓库、数据库应用开发、基于对象的数据库和XML、数据存储和查询、事务管理、数据挖掘与信息检索以及数据库系统体系结构等方面的内容,而且对性能评测标准、性能调整、标准化以及空间与地理数据、事务处理监控等高级应用主题进行了广泛讨论。本书既可作为高年级本科生或低年级研究生的数据库课程教材,也可供数据库领域的技术人员参考。
作者简介
  本书提供作译者介绍Abraham Silberschatz于纽约州立大学石溪分校获得博士学位,现为耶鲁大学计算机科学系教授,曾任新泽西州Murray Hill贝尔实验室信息科学研究中心副主席,ACM和IEEE会员。他的研究方向包括操作系统、数据库系统、网络系统和分布式系统。.Henry F.Korth于普林斯顿大学获得博士学位,现为美国里海大学教授,曾任贝尔实验室信息科学研究中心数据库原理研究室主任,ACM会员和IEEE高级成员。他的研究方向包括高性能数据库系统、实时数据库系统和XML数据库。..S.Sudarshan于威斯康...
目录
第1章 引言 1 .
1.1 数据库系统的应用 1
1.2 数据库系统的目标 2
1.3 数据视图 3
1.3.1 数据抽象 4
1.3.2 实例和模式 5
1.3.3 数据模型 5
1.4 数据库语言 6
1.4.1 数据操纵语言 6
1.4.2 数据定义语言 6
1.5 关系数据库 7
1.5.1 表 7
1.5.2 数据操纵语言 8
1.5.3 数据定义语言 8
1.5.4 来自应用程序的数据库访问 9
1.6 数据库设计 9
1.6.1 设计过程 9
1.6.2 银行企业的数据库设计 10
1.6.3 实体-联系模型 10
1.6.4 规范化 11
1.7 基于对象数据库和半结构化数据库 12
1.7.1 基于对象数据模型 12
1.7.2 半结构化数据模型 12
1.8 数据存储和查询 12
1.8.1 存储管理器 13
1.8.2 查询处理器 13
1.9 事务管理 13
1.10 数据挖掘与分析 14
1.11 数据库体系结构 15
1.12 数据库用户和管理员 17
1.12.1 数据库用户和用户界面 17
1.12.2 数据库管理员 17
1.13 数据库系统的历史 18
1.14 小结 19
术语回顾 20
实践习题 20
习题 20
文献注解 20
第一部分 关系数据库
第2章 关系模型 24
2.1 关系数据库的结构 24
2.1.1 基本结构 24
2.1.2 数据库模式 25
2.1.3 码 27
2.1.4 查询语言 28
2.2 关系代数基本运算 29
2.2.1 选择运算 29
2.2.2 投影运算 29
2.2.3 关系运算的组合 30
2.2.4 并运算 30
2.2.5 集合差运算 30
2.2.6 笛卡儿积运算 31
2.2.7 更名运算 33
2.2.8 关系代数的形式化定义 34
2.3 附加的关系代数运算 34
2.3.1 集合交运算 35
2.3.2 自然连接运算 35
2.3.3 除运算 36
2.3.4 赋值运算 37
2.4 扩展的关系代数运算 37
2.4.1 广义投影 38
2.4.2 聚集函数 38
2.4.3 外连接 39
2.5 空值 41
2.6 数据库的修改 42
2.6.1 删除 42
2.6.2 插入 42
2.6.3 更新 43
2.7 小结 43
术语回顾 44
实践习题 44
习题 45
文献注解 46
第3章 SQL 47
3.1 背景 47
3.2 数据定义 48
3.2.1 基本域类型 48
3.2.2 SQL中的基本模式定义 48
3.3 SQL查询的基本结构 50
3.3.1 select子句 50
3.3.2 where子句 51
3.3.3 from子句 51
3.3.4 更名运算 52
3.3.5 元组变量 52
3.3.6 字符串运算 53
3.3.7 排列元组的显示次序 54
3.3.8 重复 54
3.4 集合运算 55
3.4.1 union运算 55
3.4.2 intersect运算 55
3.4.3 except运算 56
3.5 聚集函数 56
3.6 空值 58
3.7 嵌套子查询 59
3.7.1 集合成员资格 59
3.7.2 集合的比较 60
3.7.3 测试是否为空关系 60
3.7.4 测试是否存在重复元组 61
3.8 复杂查询 62
3.8.1 派生关系 62
3.8.2 with子句 62
3.9 视图 63
3.9.1 视图定义 64
3.9.2 用其他视图定义视图 65
3.10 数据库的修改 66
3.10.1 删除 66
3.10.2 插入 67
3.10.3 更新 68
3.10.4 视图的更新 69
3.10.5 事务 70
3.11 连接关系 ˇˇ 71
3.11.1 举例 71
3.11.2 连接类型和条件 72
3.12 小结 74
术语回顾 74
实践习题 75
习题 76
文献注解 77
第4章 高级SQL 79
4.1 SQL的数据类型与模式 79
4.1.1 SQL中内建的数据类型 79
4.1.2 用户定义类型 80
4.1.3 大对象类型 81
4.1.4 模式. 目录与环境 81
4.2 完整性约束 82
4.2.1 单个关系上的约束 82
4.2.2 not null约束 82
4.2.3 unique约束 83
4.2.4 check子句 83
4.2.5 参照完整性 84
4.2.6 断言 86
4.3 授权 86
4.4 嵌入式SQL 87
4.5 动态SQL 90
4.5.1 ODBC 90
4.5.2 JDBC 92
4.6 函数和过程化结构 ˇˇ 95
4.6.1 SQL函数和过程 95
4.6.2 过程化结构 96
4.6.3 外部语言例程 98
4.7 递归查询 ˇˇ 99
4.7.1 使用迭代的传递闭包 99
4.7.2 SQL中的递归 100
4.8 高级SQL特性 ˇˇ 101
4.8.1 create table的扩展 102
4.8.2 关于子查询的更多内容 102
4.8.3 数据库更新的高级结构 103
4.9 小结 103
术语回顾 104
实践习题 104
习题 105
文献注解 106
第5章 其他关系语言 107
5.1 元组关系演算 107
5.1.1 查询的例子 107
5.1.2 形式化定义 109
5.1.3 表达式的安全性 109
5.1.4 语言的表达能力 110
5.2 域关系演算 110
5.2.1 形式化定义 110
5.2.2 查询的例子 111
5.2.3 表达式的安全性 111
5.2.4 语言的表达能力 112
5.3 QBE 112
5.3.1 框架表 113
5.3.2 在单个关系上的查询 113
5.3.3 在多个关系上的查询 114
5.3.4 条件框 115
5.3.5 结果关系 116
5.3.6 在Microsoft Access中的QBE 117
5.4 Datalog 118
5.4.1 基本结构 119
5.4.2 Datalog规则的语法 120
5.4.3 非递归Datalog的语义 121
5.4.4 安全性 122
5.4.5 Datalog中的关系运算 123
5.4.6 Datalog中的递归 124
5.4.7 递归的能力 125
5.5 小结 127
术语回顾 127
实践习题 127
习题 128
文献注解 129
第二部分 数据库设计
第6章 数据库设计和EˉR模型 132
6.1 设计过程概览 132
6.1.1 设计阶段 132
6.1.2 设计选择 133
6.2 实体-联系模型 133
6.2.1 实体集 134
6.2.2 联系集 135
6.2.3 属性 137
6.3 约束 138
6.3.1 映射基数 138
6.3.2 码 139
6.3.3 参与约束 140
6.4 实体-联系图 140
6.5 实体-联系设计问题 144
6.5.1 用实体集还是用属性 144
6.5.2 用实体集还是用联系集 145
6.5.3 二元联系集与n元联系集 146
6.5.4 联系属性的布局 147
6.6 弱实体集 147
6.7 扩展EˉR特性 149
6.7.1 特殊化 149
6.7.2 一般化 150
6.7.3 属性继承 151
6.7.4 一般化上的约束 151
6.7.5 聚集 153
6.7.6 可选择的EˉR符号 154
6.8 银行企业的数据库设计 155
6.8.1 EˉR设计的可选方案 155
6.8.2 银行数据库的数据需求 156
6.8.3 银行数据库中的实体集 156
6.8.4 银行数据库中的联系集 156
6.8.5 银行数据库中的EˉR图 157
6.9 转换为关系模式 158
6.9.1 强实体集的表示方式 158
6.9.2 弱实体集的表示方式 158
6.9.3 联系集的表示方式 159
6.9.4 复合属性和多值属性 160
6.9.5 一般化的表示方式 161
6.9.6 聚集的表示方式 161
6.9.7 银行企业的关系模式 162
6.10 数据库设计的其他方面 162
6.10.1 数据约束和关系数据库设计 162
6.10.2 使用需求:查询和性能 163
6.10.3 授权需求 163
6.10.4 数据流. 工作流 164
6.10.5 数据库设计的其他问题 164
6.11 统一建模语言UML ˇˇ 164
6.12 小结 166
术语回顾 167
实践习题 167
习题 169
文献注解 170
第7章 关系数据库设计 172
7.1 好的关系设计的特点 172
7.1.1 设计选择:更大的模式 172
7.1.2 设计选择:更小的模式 174
7.2 原子域和第一范式 176
7.3 使用函数依赖的分解 176
7.3.1 码和函数依赖 177
7.3.2 BoyceˉCodd范式 178
7.3.3 BCNF和保持依赖 178
7.3.4 第三范式 180
7.3.5 更高的范式 182
7.4 函数依赖理论 182
7.4.1 函数依赖集的闭包 182
7.4.2 属性集的闭包 184
7.4.3 正则覆盖 185
7.4.4 无损分解 187
7.4.5 保持依赖 188
7.5 分解的算法 189
7.5.1 BCNF分解 189
7.5.2 3NF分解 191
7.5.3 BCNF和3NF的比较 192
7.6 使用多值依赖的分解 193
7.6.1 多值依赖 193
7.6.2 第四范式 194
7.6.3 4NF分解 195
7.7 更多的范式 196
7.8 数据库设计过程 196
7.8.1 EˉR模型和规范化 196
7.8.2 属性和联系的命名 197
7.8.3 为了性能解除规范化 198
7.8.4 其他设计问题 198
7.9 时态数据建模 198
7.10 小结 200
术语回顾 201
实践习题 201
习题 203
文献注解 203
第8章 应用设计和开发 205
8.1 用户界面和工具 205
8.1.1 表格和图形用户界面 205
8.1.2 报表生成器 206
8.2 数据库的Web界面 207
8.3 Web基础 208
8.3.1 统一资源定位符 208
8.3.2 超文本标记语言 208
8.3.3 客户端脚本和applet 209
8.3.4 Web服务器和会话 210
8.4 servlet和JSP 212
8.4.1 一个servlet的例子 212
8.4.2 servlet会话 213
8.4.3 servlet的生命周期 213
8.4.4 servlet支持 213
8.4.5 服务器端脚本 214
8.5 建立大型Web应用 215
8.5.1 构建Web界面 215
8.5.2 Microsoft ASP 215
8.5.3 提高应用程序性能 216
8.6 触发器 217
8.6.1 对触发器的需求 217
8.6.2 SQL中的触发器 218
8.6.3 何时不用触发器 220
8.7 SQL中的授权 221
8.7.1 权限的授予 221
8.7.2 在SQL中授权 222
8.7.3 角色 223
8.7.4 收回权限 224
8.7.5 视图. 函数和过程的授权 225
8.7.6 SQL授权的局限 225
8.7.7 审计追踪 226
8.8 应用系统安全性 226
8.8.1 加密技术 226
8.8.2 数据库中的加密支持 227
8.8.3 鉴定 228
8.8.4 保护应用程序 230
8.8.5 隐私 230
8.9 小结 231
术语回顾 232
实践习题 232
习题 233
项目建议 234
文献注解 235
第三部分 基于对象的数据库和XML
第9章 基于对象的数据库 238
9.1 概述 238
9.2 复杂数据类型 238
9.3 SQL中的结构类型和继承 240
9.3.1 结构类型 240
9.3.2 类型继承 242
9.4 表继承 243
9.5 SQL中的数组和多重集合类型 244
9.5.1 创建和访问集合体值 245
9.5.2 查询以集合体为值的属性 245
9.5.3 嵌套和解除嵌套 246
9.6 对象标识和SQL中的引用类型 248
9.7 OˉR特性的实现 249
9.8 持久化程序设计语言 250
9.8.1 对象的持久化 251
9.8.2 对象标识和指针 251
9.8.3 持久对象的存储和访问 252
9.8.4 持久化C++系统 252
9.8.5 持久化Java系统 254
9.9 面向对象与对象-关系 255
9.10 小结 256
术语回顾 256
实践习题 257
习题 258
文献注解 259
第10章 XML 261
10.1 动机 261
10.2 XML数据的结构 263
10.3 XML文档模式 265
10.3.1 文档类型定义 266
10.3.2 XML Schema 268
10.4 查询和转换 270
10.4.1 XPath 270
10.4.2 XQuery 272
10.4.3 XSLT ˇˇ 276
10.5 XML应用程序接口 278
10.6 XML数据的存储 279
10.6.1 非关系的数据存储 279
10.6.2 关系数据库 279
10.6.3 SQL/XML 281
10.7 XML应用 283
10.7.1 存储复杂结构的数据 283
10.7.2 标准化数据交换格式 283
10.7.3 Web服务 284
10.7.4 数据中介 285
10.8 小结 285
术语回顾 286
实践习题 287
习题 287
文献注解 288
第四部分 数据存储和查询
第11章 存储和文件结构 292
11.1 物理存储介质概述 292
11.2 磁盘 294
11.2.1 磁盘的物理特性 294
11.2.2 磁盘性能的度量 295
11.2.3 磁盘块访问的优化 296
11.3 RAID 298
11.3.1 通过冗余提高可靠性 298
11.3.2 通过并行提高性能 299
11.3.3 RAID级别 300
11.3.4 RAID级别的选择 302
11.3.5 硬件问题 303
11.3.6 其他的RAID应用 303
11.4 第三级存储 304
11.4.1 光盘 304
11.4.2 磁带 304
11.5 存储访问 305
11.5.1 缓冲区管理器 305
11.5.2 缓冲区替换策略 306
11.6 文件组织 307
11.6.1 定长记录 308
11.6.2 变长记录 309
11.7 文件中记录的组织 310
11.7.1 顺序文件组织 310
11.7.2 多表聚类文件组织 311
11.8 数据字典存储 312
11.9 小结 313
术语回顾 314
实践习题 315
习题 316
文献注解 316
第12章 索引与散列 318
12.1 基本概念 318
12.2 顺序索引 319
12.2.1 稠密索引和稀疏索引 319
12.2.2 多级索引 320
12.2.3 索引的更新 321
12.2.4 辅助索引 322
12.3 B + 树索引文件 323
12.3.1 B + 树的结构 323
12.3.2 B + 树的查询 325
12.3.3 B + 树的更新 326
12.3.4 B + 树文件组织 330
12.3.5 字符串上的索引 331
12.4 B树索引文件 331
12.5 多码访问 332
12.5.1 使用多个单码索引 333
12.5.2 多码索引 333
12.5.3 不唯一的搜索码 334
12.5.4 覆盖索引 334
12.5.5 辅助索引和记录重定位 334
12.6 静态散列 335
12.6.1 散列函数 335
12.6.2 桶溢出处理 337
12.6.3 散列索引 338
12.7 动态散列 339
12.7.1 数据结构 339
12.7.2 查询和更新 340
12.7.3 静态散列与动态散列比较 343
12.8 顺序索引和散列的比较 343
12.9 位图索引 344
12.9.1 位图索引结构 344
12.9.2 位图操作的有效实现 345
12.9.3 位图和B + 树 346
12.10 SQL中的索引定义 346
12.11 小结 347
术语回顾 348
实践习题 348
习题 350
文献注解 350
第13章 查询处理 352
13.1 概述 352
13.2 查询代价的度量 353
13.3 选择运算 354
13.3.1 基本算法 354
13.3.2 利用索引的选择 355
13.3.3 涉及比较的选择 356
13.3.4 复杂选择的实现 356
13.4 排序 357
13.5 连接运算 359
13.5.1 嵌套循环连接 360
13.5.2 块嵌套循环连接 360
13.5.3 索引嵌套循环连接 361 ..
13.5.4 归并连接 362
13.5.5 散列连接 364
13.5.6 复杂连接 368
13.6 其他运算 368
13.6.1 去除重复 368
13.6.2 投影 368
13.6.3 集合运算 369
13.6.4 外连接 369
13.6.5 聚集 370
13.7 表达式计算 370
13.7.1 实体化 370
13.7.2 流水线 371
13.8 小结 374
术语回顾 374
实践习题 375
习题 376
文献注解 376
第14章 查询优化 378
14.1 概述 378
14.2 关系表达式的转换 379
14.2.1 等价规则 379
14.2.2 转换的例子 381
14.2.3 连接的次序 382
14.2.4 等价表达式的枚举 383
14.3 表达式结果集统计大小的估计 384
14.3.1 目录信息 384
14.3.2 选择运算结果大小的估计 385
14.3.3 连接运算结果大小的估计 386
14.3.4 其他运算的结果集大小的估计 387
14.3.5 不同取值个数的估计 388
14.4 选择执行计划 388
14.4.1 查询执行技术的相互作用 388
14.4.2 基于代价的优化 389
14.4.3 启发式优化 391
14.4.4 嵌套子查询的优化 ˇˇ 393
14.5 物化视图 ˇˇ 394
14.5.1 视图维护 394
14.5.2 增量的视图维护 395
14.5.3 查询优化和物化视图 397
14.6 小结 397
术语回顾 398
实践习题 399
习题 400
文献注解 400
第五部分 事务管理
第15章 事务 404
15.1 事务概念 404
15.2 事务状态 406
15.3 原子性和持久性的实现 407
15.4 并发执行 408
15.5 可串行化 411
15.5.1 冲突可串行化 411
15.5.2 视图可串行化 ˇˇ 413
15.6 可恢复性 413
15.6.1 可恢复调度 414
15.6.2 无级联调度 414
15.7 隔离性的实现 414
15.8 可串行化判定 415
15.9 小结 416
术语回顾 417
实践习题 417
习题 417
文献注解 418
第16章 并发控制 419
16.1 基于锁的协议 419
16.1.1 锁 419
16.1.2 锁的授予 421
16.1.3 两阶段封锁协议 422
16.1.4 封锁的实现 ˇˇ 423
16.1.5 基于图的协议 424
16.2 基于时间戳的协议 426
16.2.1 时间戳 426
16.2.2 时间戳排序协议 426
16.2.3 Thomas写规则 427
16.3 基于有效性检查的协议 428
16.4 多粒度 429
16.5 多版本机制 431
16.5.1 多版本时间戳排序 431
16.5.2 多版本两阶段封锁 432
16.6 死锁处理 433
16.6.1 死锁预防 433
16.6.2 基于超时的机制 434
16.6.3 死锁检测与恢复 434
16.7 插入与删除操作 436
16.7.1 删除 436
16.7.2 插入 436
16.7.3 幻象现象 437
16.8 弱一致性级别 438
16.8.1 二级一致性 438
16.8.2 游标稳定性 438
16.8.3 SQL中的弱一致性级别 439
16.9 索引结构中的并发 ˇˇ 439
16.10 小结 441
术语回顾 443
实践习题 443
习题 445
文献注解 446
第17章 恢复系统 447
17.1 故障分类 447
17.2 存储器结构 447
17.2.1 存储器类型 447
17.2.2 稳定存储器的实现 448
17.2.3 数据访问 449
17.3 恢复与原子性 450
17.4 基于日志的恢复 450
17.4.1 延迟的数据库修改 451
17.4.2 立即的数据库修改 452
17.4.3 检查点 454
17.5 并发事务的恢复 455
17.5.1 与并发控制的交互 455
17.5.2 事务回滚 455
17.5.3 检查点 455
17.5.4 重启动恢复 456
17.6 缓冲区管理 456
17.6.1 日志记录缓冲 456
17.6.2 数据库缓冲 457
17.6.3 操作系统在缓冲区管理中的作用 458
17.7 非易失性存储器数据丢失的故障 458
17.8 高级恢复技术 ˇˇ 459
17.8.1 逻辑undo日志 459
17.8.2 事务回滚 460
17.8.3 检查点 460
17.8.4 重启动恢复 460
17.8.5 模糊检查点 461
17.8.6 ARIES 461
17.9 远程备份系统 464
17.10 小结 465
术语回顾 467
实践习题 467 习题 468
文献注解 468
第六部分 数据挖掘与信息检索
第18章 数据分析与挖掘 472
18.1 决策支持系统 472
18.2 数据分析和联机分析处理 473
18.2.1 联机分析处理 473
18.2.2 OLAP实现 476
18.2.3 扩展的聚集 477
18.2.4 排名 478
18.2.5 分窗 480
18.3 数据仓库工程 481
18.3.1 数据仓库的成分 481
18.3.2 数据仓库模式 482
18.4 数据挖掘 483
18.4.1 数据挖掘应用 483
18.4.2 分类 484
18.4.3 关联规则 488
18.4.4 其他类型的关联 489
18.4.5 聚类 490
18.4.6 其他类型的挖掘 491
18.5 小结 491
术语回顾 492
实践习题 493
习题 493
文献注解 494
第19章 信息检索 496
19.1 概述 496
19.2 使用术语的相关排级 497
19.2.1 使用TFˉIDF方法排级 497
19.2.2 基于相似性的检索 498
19.3 使用超链接的相关性 499
19.3.1 流行度排序 499
19.3.2 PageRank 500
19.3.3 其他的流行度度量 501
19.4 同义词. 多义词和本体 502
19.5 文档的索引 503
19.6 检索的有效性度量 504
19.7 Web搜索引擎 504
19.8 信息检索和结构化数据 505
19.8.1 信息抽取 505
19.8.2 查询结构化数据 505
19.8.3 问题解答 506
19.9 目录 506
19.10 小结 507
术语回顾 508
实践习题 509
习题 509
文献注解 510
第七部分 系统体系结构
第20章 数据库系统体系结构 512
20.1 集中式与客户-服务器体系结构 512
20.1.1 集中式系统 512
20.1.2 客户-服务器系统 513
20.2 服务器系统体系结构 514
20.2.1 事务服务器进程结构 514
20.2.2 数据服务器 515
20.3 并行系统 516
20.3.1 加速比和扩展比 517
20.3.2 互连网络 518
20.3.3 并行数据库体系结构 519
20.4 分布式系统 521
20.4.1 分布式数据库的一个例子 522
20.4.2 实现问题 522
20.5 网络类型 523
20.5.1 局域网 523
20.5.2 广域网 524
20.6 小结 525
术语回顾 525
实践习题 526
习题 527
文献注解 527
第21章 并行数据库 528
21.1 概述 528
21.2 I/O并行 528
21.2.1 划分技术 528
21.2.2 划分技术比较 529
21.2.3 偏斜的处理 530
21.3 查询间并行 531
21.4 查询内并行 531
21.5 操作内并行 532
21.5.1 并行排序 532
21.5.2 并行连接 533
21.5.3 其他的关系操作 536
21.5.4 操作的并行计算的代价 537
21.6 操作间并行 537
21.6.1 流水线并行 537
21.6.2 独立的并行 538
21.6.3 查询优化 538
21.7 并行系统设计 539
21.8 小结 540
术语回顾 540
实践习题 541
习题 541
文献注解 542
第22章 分布式数据库 544
22.1 同构和异构数据库 544
22.2 分布式数据存储 544
22.2.1 数据复制 544
22.2.2 数据分片 545
22.2.3 透明性 546
22.3 分布式事务 547
22.3.1 系统结构 547
22.3.2 系统故障模式 548
22.4 提交协议 548
22.4.1 两阶段提交 548
22.4.2 三阶段提交 551
22.4.3 事务处理的可选择模型 551
22.5 分布式数据库的并发控制 552
22.5.1 封锁协议 553
22.5.2 时间戳 555
22.5.3 弱一致性复制 555
22.5.4 死锁处理 556
22.6 可用性 557
22.6.1 基于多数的方法 558
22.6.2 读一个. 写所有可用的方法 559
22.6.3 站点重建 559
22.6.4 与远程备份比较 559
22.6.5 协调器的选择 560
22.7 分布式查询处理 561
22.7.1 查询转换 561
22.7.2 简单的连接处理 561
22.7.3 半连接策略 562
22.7.4 利用并行性的连接策略 563
22.8 异构分布式数据库 563
22.8.1 数据的统一视图 563
22.8.2 查询处理 564
22.9 目录系统 564
22.9.1 目录访问协议 565
22.9.2 LDAP:轻便目录访问协议 565
22.10 小结 568
术语回顾 569
实践习题 570
习题 571
文献注解 572
第八部分 其他主题
第23章 高级应用开发 574
23.1 性能调整 574
23.1.1 瓶颈的位置 574
23.1.2 可调参数 575
23.1.3 硬件的调整 575
23.1.4 模式的调整 577
23.1.5 索引的调整 577
23.1.6 使用物化视图 577
23.1.7 物理设计的自动调整 578
23.1.8 事务的调整 579
23.1.9 性能模拟 580
23.2 性能基准程序 580
23.2.1 任务集 580
23.2.2 数据库应用类型 581
23.2.3 TPC基准程序 581
23.2.4 OODB基准程序 582
23.3 标准化 583
23.3.1 SQL标准 583
23.3.2 数据库连接标准 584
23.3.3 对象数据库标准 585
23.3.4 基于XML的标准 585
23.4 应用系统移植 586
23.5 小结 586
术语回顾 587
实践习题 587
习题 588
文献注解 588
第24章 高级数据类型和新的应用 590
24.1 动机 590
24.2 数据库中的时间 590
24.2.1 SQL中的时间描述 591
24.2.2 时态查询语言 592
24.3 空间与地理数据 592
24.3.1 几何信息的表示 592
24.3.2 设计数据库 593
24.3.3 地理数据 594
24.3.4 空间查询 595
24.3.5 空间数据的索引 596
24.4 多媒体数据库 599
24.4.1 多媒体数据格式 599
24.4.2 连续媒体数据 600
24.4.3 基于相似性的检索 600
24.5 移动计算和个人数据库 601
24.5.1 移动计算模型 601
24.5.2 路由和查询处理 602
24.5.3 广播数据 602
24.5.4 连接断开与一致性 603
24.6 小结 604
术语回顾 605
实践习题 605
习题 606
文献注解 606
第25章 高级事务处理 608
25.1 事务处理监控器 608
25.1.1 TP监控器体系结构 608
25.1.2 使用TP监视器进行应用协调 610
25.2 事务工作流 611
25.2.1 工作流说明 612
25.2.2 工作流的故障原子性需求 613
25.2.3 工作流的执行 613
25.2.4 工作流的恢复 614
25.2.5 工作流管理系统 614
25.3 电子商务 615
25.3.1 电子目录 615
25.3.2 市场 616
25.3.3 订单结算 616
25.4 主存数据库 617
25.5 实时事务系统 618
25.6 长事务 619
25.6.1 不可串行化的执行 619
25.6.2 并发控制 620
25.6.3 嵌套事务和多级事务 620
25.6.4 补偿事务 621
25.6.5 实现问题 622
25.7 多数据库中的事务管理 622
25.7.1 两级串行化 623
25.7.2 保证全局串行化 624
25.8 小结 625
术语回顾 625
实践习题 626
习题 627
文献注解 627
第九部分 实例研究
第26章 PostgreSQL 630
26.1 概述 630
26.2 用户界面 630
26.2.1 交互式终端界面 630
26.2.2 图形界面 631
26.2.3 编程语言接口 631
26.3 SQL变化和扩展 633
26.3.1 PostgreSQL类型 633
26.3.2 规则和其他主动数据库特征 634
26.3.3 可扩展性 636
26.4 PostgreSQL中的事务管理 638
26.4.1 PostgreSQL的并发控制 639
26.4.2 恢复 644
26.5 存储和索引 644
26.5.1 表 645
26.5.2 索引 645
26.6 查询处理和优化 646
26.6.1 查询重写 646
26.6.2 查询规划和优化 647
26.6.3 查询执行器 647
26.6.4 触发器和约束 648
26.7 系统结构 648
文献注解 649
第27章 Oracle 650
27.1 数据库设计和查询工具 650
27.1.1 数据库设计工具 650
27.1.2 查询工具 651
27.2 SQL的变化和扩展 651
27.2.1 对象-关系特性 651
27.2.2 联机分析处理 652
27.2.3 触发器 652
27.3 存储和索引 652
27.3.1 表空间 653
27.3.2 段 653
27.3.3 表 653
27.3.4 按索引组织的表 654
27.3.5 索引 654
27.3.6 位图索引 655
27.3.7 基于函数的索引 656
27.3.8 连接索引 656
27.3.9 域索引 656
27.3.10 划分 657
27.3.11 物化视图 658
27.4 查询处理和优化 658
27.4.1 执行方法 658
27.4.2 优化 659
27.4.3 SQL调优顾问 661
27.4.4 并行执行 661
27.5 并发控制与恢复 662
27.5.1 并发控制 662
27.5.2 恢复的基本结构 663
27.5.3 Oracle数据卫士 664
27.6 系统体系结构 664
27.6.1 专用服务器:内存结构 664
27.6.2 专用服务器:进程结构 665
27.6.3 共享服务器 665
27.6.4 Oracle Real ApplicationClusters 665
27.7 复制. 分布以及外部数据 666
27.7.1 复制 666
27.7.2 分布式数据库 666
27.7.3 外部数据源 666
27.8 数据库管理工具 667
27.8.1 Automatic WorkloadRepository 667
27.8.2 数据库资源管理 667
27.8.3 Oracle Enterprise Manager 667
27.9 数据挖掘 667
文献注解 668
第28章 IBM DB2UniversalDatabase 669
28.1 概述 669
28.2 数据库设计工具 670
28.3 SQL的变化和扩展 670
28.3.1 XML特性 670
28.3.2 数据类型的支持 671
28.3.3 用户自定义函数和方法 672
28.3.4 大对象 672
28.3.5 索引扩展和约束 672
28.3.6 Web服务 672
28.3.7 消息队列 673
28.4 存储和索引 673
28.4.1 存储体系结构 673
28.4.2 缓冲池 674
28.4.3 表. 记录和索引 674
28.5 多维聚类 675
28.5.1 块索引 676
28.5.2 块映射 677
28.5.3 设计考虑 677
28.5.4 对现有技术的影响 677
28.6 查询处理和优化 677
28.6.1 存取方法 678
28.6.2 连接. 聚集和集合操作 679
28.6.3 对复杂SQL处理的支持 679
28.6.4 多处理器查询处理特性 679
28.6.5 查询优化 679
28.7 物化的查询表 680
28.7.1 发送查询到MQT 680
28.7.2 MQT的维护 680
28.8 DB2中的自治特性 681
28.8.1 配置 681
28.8.2 优化 681
28.9 工具和实用程序 682
28.10 并发控制和恢复 683
28.10.1 并发与隔离 683
28.10.2 提交和回滚 683
28.10.3 日志和恢复 684
28.11 系统体系结构 684
28.12 复制. 分布和外部数据 685
28.13 商务智能特性 686
文献注解 686
第29章 Microsoft SQL Server 687
29.1 管理. 设计和查询工具 687
29.1.1 数据库开发和可视化数据库工具 687
29.1.2 数据库查询和调整工具 687
29.1.3 SQL Server ManagementStudio 690
29.2 SQL的变体和扩展 691
29.2.1 数据类型 691
29.2.2 查询语言增强 691
29.2.3 例程 692
29.3 存储和索引 693
29.3.1 文件组 693
29.3.2 文件组中的空间管理 693
29.3.3 表 694
29.3.4 索引 694
29.3.5 分区 694
29.3.6 在线创建索引 694
29.3.7 扫描和预读 694
29.4 查询处理及优化 695
29.4.1 优化处理概述 695
29.4.2 查询简化 695
29.4.3 重排序和基于代价的优化 696
29.4.4 更新计划 696
29.4.5 优化时的数据分析 697
29.4.6 部分搜索和启发式搜索 697
29.4.7 查询执行 697
29.5 并发与恢复 698
29.5.1 事务 698
29.5.2 封锁 698
29.5.3 恢复和可用性 699
29.6 系统体系结构 700
29.6.1 服务器的线程池 701
29.6.2 内存管理 701
29.6.3 安全 701
29.7 数据访问 702
29.8 分布式异构查询处理 702
29.9 复制 703
29.9.1 复制模型 703
29.9.2 复制选项 703
29.10 .NET中的服务器编程 704
29.10.1 .NET基本概念 704
29.10.2 SQL CLR宿主 705
29.10.3 可扩展性协定 706
29.11 SQL Server2005中对XML的支持 707
29.11.1 本地存储和组织XML 708
29.11.2 验证和标定XML数据类型 708
29.11.3 查询和更新XML数据类型 708
29.11.4 XQuery表达式的执行 710
29.12 SQL Server服务代理 710
29.13 数据仓库和商务智能 712
29.13.1 SQL Server集成服务 712
29.13.2 SQL Server分析服务 713
29.13.3 SQL Server报表服务 714
文献注解 714
参考文献 716
猜您喜欢

读书导航