第一部分 DB2 UDB简介 1
第1章 产品概述 1
1.1 DB2和电子商务 2
1.2 DB2通用数据库 3
1.2.1 DB2企业版 4
1.2.2 DB2工作组版 4
1.2.3 DB2企业扩展版 5
1.2.4 DB2个人版 6
1.2.5 DB2卫星版 6
1.2.6 DB2微型版 7
1.3 DB2的连接性 8
1.3.1 DB2通用数据库客户端 9
1.3.2 DB2 Connect 10
1.3.3 DB2 Replication 12
1.3.4 DB2 Net.Data 12
1.3.5 DB2 Relational Connect 13
1.3.6 DB2 DataJoiner 13
1.3.7 IBM WebSphere应用服务器 14
1.4 DB2应用程序开发 14
1.4.1 DB2通用开发版 15
1.4.2 DB2存储过程构建器 16
1.4.3 DB2关系扩展器 17
1.4.4 DB2 OLAP Server Starter Kit 18
1.4.5 DB2数据仓库中心 20
1.4.6 DB2数据仓库管理器 20
1.4.7 DB2数据链接管理器 23
1.5 DB2管理 25
1.5.1 控制中心 25
1.5.2 可通过控制中心存取的其他工具 26
1.5.3 向导 27
1.5.4 命令行处理器 28
1.5.5 可视化解释工具 29
1.5.6 性能监视器 30
1.5.7 DB2文件夹 31
1.6 本章小结 33
第2章 UDB初步 34
2.1 产品安装 34
2.1.1 Windows 和OS/2环境下的安装 34
2.1.2 UNIX和Linux环境下的安装 41
2.1.3 DB2客户端安装 43
2.1.4 分布式安装 44
2.2 DB2环境 46
2.2.1 DB2配置文件注册表 47
2.2.2 环境变量 48
2.2.3 命令行处理器的使用 49
2.3.1 DB2管理服务器实例 51
2.3 DB2管理服务器和DB2实例 51
2.3.2 DB2实例 53
2.4 First Steps工具的使用 55
2.5 本章小结 56
第3章 网络连接 58
3.1 建立分布式连接的途径 59
3.1.1 DB2 Discovery 59
3.1.2 使用DB2 Discovery进行自动配置 60
3.1.3 使用存取配置文件进行自动配置 60
3.1.4 人工配置 61
3.2 DB2目录 62
3.3.1 使用DB2 Discovery进行自动配置 64
3.3 配置DB2客户端 64
3.3.2 使用存取配置文件 73
3.3.3 人工配置 77
3.3.4 连接配置小结 83
3.4 通信配置 84
3.4.1 DB2实例的通信配置 84
3.4.2 DAS实例的通信配置 88
3.4.3 配置DB2 Discovery 89
3.5 工具绑定 92
3.6 实例管理 96
3.6.1 本地实例管理 97
3.6.2 使用控制中心进行实例连接 98
3.7 本章小结 99
第4章 存取控制 100
4.1 系统安全性 100
4.1.1 安全性简介 100
4.1.2 认证 101
4.1.3 权限和特权 111
4.1.4 Windows NT/2000下的安全注意事项 123
4.2 审计 128
4.3 本章小结 133
第5章 数据库对象 135
5.1 了解数据库对象 135
第二部分 使用SQL 135
5.1.1 数据类型 136
5.1.2 表 137
5.1.3 模式 137
5.1.4 表空间 137
5.1.5 视图 138
5.1.6 索引 138
5.1.7 包 138
5.1.8 缓冲池 139
5.1.9 事务 139
5.1.10 锁 139
5.2.1 使用SQL数据定义语言 140
5.2 管理数据库对象 140
5.1.12 创建DB2数据库 140
5.1.11 日志文件 140
5.2.2 数据类型 142
5.2.3 表 158
5.2.4 视图 166
5.2.5 索引 171
5.3 数据库设计与实现 174
5.3.1 DB2CERT数据库表的描述 175
5.3.2 定义用户自定义数据类型 177
5.3.3 定义列 178
5.3.6 定义惟一关键字 179
5.3.5 定义主关键字 179
5.3.4 关键字 179
5.3.7 定义外关键字 180
5.4 本章小结 181
第6章 操纵数据库对象 182
6.1 数据检索 182
6.1.1 检索整张表 182
6.1.2 在表中投影列 183
6.1.3 改变列的顺序 184
6.1.4 在表中限制行 184
6.1.5 用户自定义类型的谓词表达式 185
6.1.7 从多个表中选择列 186
6.1.6 使用多个条件限制行 186
6.1.9 将输出排序 190
6.1.8 使用关联名 190
6.1.10 派生列 191
6.1.11 DB2函数 192
6.1.12 分组值 193
6.1.13 取消重复值 194
6.1.14 搜索串匹配模式 195
6.1.15 在范围内搜索数据 196
6.1.16 查询空值 196
6.1.17 否定条件查找 196
6.1.19 子查询 197
6.1.18 查找一组值 197
6.1.20 量化谓词 198
6.1.21 CASE表达式 200
6.1.22 嵌套表表达式 201
6.1.23 标量全选择 201
6.1.24 公共表表达式 203
6.1.25 集合运算符 204
6.2 修改数据 205
6.2.1 插入数据记录 206
6.2.2 更新数据记录 208
6.2.3 删除数据 210
6.3.1 可删除视图 211
6.3 视图分类 211
6.3.2 可更新视图 212
6.3.3 可插入视图 213
6.3.4 只读视图 213
6.3.5 不可操作视图 213
6.4 本章小结 214
第7章 高级SQL 215
7.1 触发器 215
7.1.1 触发器的使用 215
7.1.2 触发器的激活 216
7.1.3 触发器实例(后触发器) 216
7.2 递归SQL 217
7.1.4 触发器实例(前触发器) 217
7.3 外连接 221
7.3.1 左外连接 221
7.3.2 右外连接 222
7.3.3 全外连接 222
7.3.4 外连接的联合 224
7.4 联机分析处理功能 225
7.4.1 星型模式 225
7.4.2 OLAP索引 226
7.4.3 星型连接 227
7.4.4 超级分组 227
7.4.5 移动函数 232
7.5.1 使用CASE表达式将数值进行分组 233
7.5 高级CASE表达式 233
7.5.2 在函数中使用CASE表达式 234
7.6 结构化类型和类型化表 235
7.6.1 创建结构化类型 236
7.6.2 修改结构化类型 237
7.6.3 创建类型化表 237
7.6.4 删除类型化表 238
7.6.5 在类型化表中插入行 239
7.6.6 从类型化表中查询记录 239
7.6.7 更新和删除类型化表中的行 240
7.6.8 类型化表的物理实现 241
7.6.9 引用列 242
7.6.10 视图层次 244
7.6.11 类型化表和类型化视图上的SQL函数 245
7.6.12 TYPE谓词 245
7.6.13 使用类型化表和视图的注意事项 246
7.6.14 类型化表层次的实例 246
7.7 汇总表 250
7.7.1 创建汇总表 251
7.7.2 CURRENT REFRESH AGE专用寄存器 252
7.7.3 使用汇总表的注意事项 252
7.7.4 汇总表的系统目录信息 253
7.8 本章小结 253
8.1 并发性 254
第8章 并发性 254
8.2 隔离级 260
8.2.1 未提交读 261
8.2.2 游标稳定性 261
8.2.3 读稳定性 261
8.2.4 可重复读 262
8.2.5 隔离级的选择 262
8.3 锁定 262
8.3.1 锁属性 262
8.3.2 锁的转换 264
8.3.3 锁的升极 265
8.3.4 锁等待 265
8.3.6 ALTER TABLE语句的LOCKSIZE参数 266
8.3.5 锁定表语句 266
8.4 本章小结 267
第三部分 DB2 UDB管理 269
第9章 数据存储管理 269
9.1 处理器、内存和磁盘资源 269
9.1.1 处理器 269
9.1.2 内存 270
9.1.3 磁盘 270
9.2 DB2存储模式 271
9.2.1 缓冲池 271
9.2.3 容器 272
9.2.2 表空间 272
9.3 表空间设计 274
9.3.1 常规表空间 274
9.3.2 长型表空间 275
9.3.3 系统临时表空间 275
9.3.4 区段大小 275
9.3.5 页的大小 276
9.3.6 性能考虑 276
9.3.7 长型字段数据 281
9.3.8 大对象数据 281
9.4.1 建立一个数据库 282
9.4 实现例子 282
9.4.2 建立缓冲池 285
9.4.3 建立表空间 285
9.4.4 建立表 286
9.4.5 删除表空间 286
9.4.6 删除缓冲池 286
9.4.7 删除数据库 286
9.4.8 使用控制中心建立表空间 286
9.5 表空间维护 291
9.5.1 数据库文件 291
9.5.2 列出表空间 292
9.5.3 列出表空间容器 292
9.5.5 关于表空间的系统编目信息 293
9.5.4 表空间状态 293
9.5.6 向DMS表空间里增加容器 294
9.6 本章小结 297
第10章 数据维护 299
10.1 移动数据 299
10.1.1 界定的ASCII文件 299
10.1.2 非界定ASCII文件 300
10.1.3 PC/IXF文件 300
10.1.4 工作表格式文件 301
10.2 数据移动工具程序 301
10.2.1 EXPORT工具程序 301
10.2.2 IMPORT工具程序 307
10.2.3 LOAD工具程序 316
10.2.4 LOAD QUERY命令 330
10.2.5 SET INTEGRITY语句 333
10.2.6 DB2MOVE工具程序 336
10.2.7 DB2LOOK工具程序 338
10.3 数据维护 340
10.3.1 分析数据的物理组织 341
10.3.2 表重组 344
10.3.3 生成统计信息 347
10.3.4 REBIND工具程序 351
10.4 数据维护过程 351
10.5 本章小结 353
11.1 数据库恢复概念 354
11.1.1 工作单元 354
第11章 数据库恢复 354
11.1.2 事务 355
11.2 恢复的类型 355
11.2.1 事故恢复 355
11.2.2 版本恢复 355
11.2.3 前滚恢复 355
11.3.2 联机和脱机访问 356
11.4 使用日志文件 356
11.3.1 可恢复和不可恢复的数据库 356
11.3 恢复策略 356
11.4.1 日志缓冲区 358
11.4.2 主日志文件和辅助日志文件 358
11.4.3 日志的类型 358
11.4.4 日志文件的使用 360
11.5 使用备份和还原进行版本恢复 361
11.5.1 备份数据库 361
11.5.2 使用备份的例子 363
11.5.3 还原数据库 365
11.5.4 还原的例子 366
11.5.5 在还原过程中重定义表空间容器 369
11.5.6 还原到一个已经存在的数据库 371
11.6.1 备份一个数据库 372
11.5.7 还原到一个新数据库 372
11.6 前滚恢复 372
11.6.2 在表空间级备份的例子 373
11.6.3 还原数据库 373
11.6.4 在表空间级还原的例子 374
11.6.5 前滚数据库和表空间 374
11.6.6 前滚中的表空间状态 375
11.6.7 前滚实例 375
11.7.2 恢复日志文件的位置 378
11.7.3 删除日志文件 378
11.7.1 日志文件命名法 378
11.7 管理日志文件 378
11.7.4 删除日志文件命令 379
11.8 其他需要考虑的恢复事项 379
11.8.1 恢复需要的时间 379
11.8.2 日志文件存储需要考虑的事项 379
11.8.3 停顿命令 380
11.8.4 恢复历史文件 380
11.8.5 与其他表关联的表 382
11.8.6 删除表恢复 382
11.8.7 表的重组 382
11.8.8 大对象 382
11.8.10 DB2高度可用性支持 383
11.8.9 脱机和联机表空间状态 383
11.9 本章小结 384
第12章 监视和优化 386
12.1 性能要素 386
12.1.1 优化准则 387
12.1.2 性能改进过程 388
12.1.3 可对系统进行多大程度的优化 388
12.1.4 一种不太正式的方法 388
12.2 DB2体系结构概述 389
12.2.1 进程模型 389
12.2.2 查询并行 389
12.2.3 DB2内存使用 391
12.2.4 SQL编译器概述 393
12.3 DB2排序方法 395
12.4 数据库监视 395
12.4.1 获取数据库存取信息 395
12.4.2 数据库监视器 396
12.4.3 快照监视 396
12.4.4 事件监视 402
12.4.5 可视化性能监视器 407
12.4.6 DB2控制器 414
12.5 SQL监视 415
12.5.1 解释表 415
12.5.2 收集解释数据 416
12.5.3 检查解释信息 420
12.5.4 使用解释输出的准则 427
12.5.5 索引顾问工具 428
12.5.6 配置数据库资源 429
12.5.7 配置分区内并行 432
12.6 性能优化方案 434
12.7 诊断和问题确定 435
12.7.1 错误信息和SQL代码 436
12.7.2 DB2 UDB问题跟踪 440
12.8 本章小结 443
13.1 DB2应用程序开发环境 445
第13章 应用程序开发综述 445
第四部分 应用程序开发 445
13.2 DB2编程接口 447
13.2.1 嵌入式SQL 447
13.2.2 调用级接口和ODBC 449
13.2.3 Java接口(JDBC和SQLJ) 450
13.2.4 本机DB2 API 451
13.2.5 微软数据对象(DAO、RDO、ADO和OLE-DB) 452
13.2.6 其他接口和工具 453
13.3 本章小结 454
14.1 嵌入式SQL综述 455
14.1.1 创建程序包 455
第14章 开发考虑事项 455
14.1.2 绑定应用程序 458
14.2 CLI和ODBC编程支持 463
14.2.1 动态嵌入与CLI的对比 463
14.2.2 ODBC与CLI的对比 464
14.2.3 设置CLI环境 465
14.3 Java编程支持 469
14.3.1 JDBC编程 470
14.3.2 SQLJ编程 470
14.4. 存储过程生成器 471
14.5. 本章小结 472
15.1 用户自定义函数 473
第15章 开发SQL 473
15.1.1 SQL体标量函数 475
15.1.2 SQL体表函数 477
15.2 结构数据类型 478
15.3 模式和别名 483
15.3.1 模式 483
15.3.2 别名 484
15.4 COMMIT和ROLLABCK 485
15.5 本章小结 486
第五部分 附录 487
附录A DB2 UDB V7.1认证考试内容 487
附录B 随书光盘安装说明 518