第1章 概述 1
1.1 DB2通用数据库产品概述 2
1.1.1 DB2产品家族 2
1.1.2 DB2产品组件及其功能 3
1.2 DB2 7.1的新特点 5
1.3 安装和卸载DB2 8
1.3.1 制订安装计划 8
1.3.2 在Windows上安装DB2 11
1.3.3 在OS/2上安装DB2 15
1.3.4 卸载DB2 18
第2章 DB2数据库的基本概念 19
2.1 数据库对象概述 20
2.2 恢复对象概述 22
2.3 存储器对象概述 22
2.4 系统对象概述 25
2.5 数据的商业规则 25
2.6 恢复数据库 27
2.6.2 前滚恢复 28
2.6.1 版本恢复 28
2.7 联合体数据库 30
第3章 SQL语言 33
3.1 SQL简介 34
3.1.1 SQL的优点 34
3.1.2 SQL的分类 35
3.2 数据类型 35
3.3.1 创建数据库 37
3.3 使用SQL语言创建数据库对象 37
3.3.2 创建表 38
3.3.3 插入数据 39
3.3.4 更改数据 41
3.3.5 删除数据 41
3.3.6 创建视图 42
3.3.7 使用视图来处理数据 43
3.4.2 调查错误 44
3.4 使用SQL语句存取数据 44
3.4.1 连接数据库 44
3.4.3 选择列 45
3.4.4 选择行 46
3.4.5 对行进行排序 48
3.4.6 除去重复行 49
3.4.7 使用表达式来计算值 50
3.4.8 给表达式命名 51
3.4.9 从多个表中选择数据 52
3.4.10 使用子查询 53
3.4.11 使用函数 53
3.4.12 分组 55
3.5 表达式和子查询 57
3.5.1 标量全查询 57
3.5.2 转换数据类型 58
3.5.3 条件表达式 58
3.5.4 表表达式 60
3.5.5 相关名 62
3.5.6 相关子查询 63
3.6 在查询中使用运算符和谓词 67
3.6.1 用集合运算符组合查询 67
3.6.2 谓词 70
3.7 触发器 72
3.8 连接 75
3.9 定制和增强数据操作 79
3.9.1 用户定义类型 79
3.9.2 用户定义函数 80
3.9.3 大对象(LOB) 81
3.9.4 专用寄存器 81
3.9.5 目录视图的介绍 82
第4章 DB2数据库的图形化工具 85
4.1 使用“第1步”创建样本数据库 86
4.2 使用客户端配置工具 87
4.2.1 更改客户机配置参数 88
4.2.2 为客户机选择预定义的配置 92
4.2.3 保存现存的客户机配置 93
4.2.4 设置从客户机到远程数据库的连接 94
4.2.5 使用已经连接的数据库项 95
4.3 查看产品信息和文档 95
4.4 命令中心简介 96
4.5 控制中心简介 97
第5章 建立客户机到服务器的连接 103
5.1 配置DB2服务器 104
5.2 DB2目录 107
5.2.1 DB2目录简介 107
5.2.2 查看DB2的目录 108
5.3 绑定服务程序 110
5.4 实例附接 111
第6章 DB2数据库实例管理 113
6.1.1 创建管理服务器 114
6.1 DB2管理服务器 114
6.1.2 启动和停止管理服务器 115
6.1.3 配置管理服务器 116
6.1.4 设置和更改管理服务器账户 117
6.1.5 更新和除去管理服务器 118
6.2 启动和停止DB2实例 119
6.2.1 启动DB2实例 119
6.2.2 停止DB2实例 120
6.3 创建DB2实例 121
6.4 管理DB2实例 123
6.5 设置环境变量和简要表注册表 127
6.5.1 使用db2set命令 128
6.5.2 在OS/2上设置环境变量 130
6.5.3 在Windows NT和Windows 95上设置环境变量 131
6.5.4 在UNIX系统上设置环境变量 132
第7章 DB2数据库设计基础 135
7.1 数据库的设计步骤 136
7.2.1 数据库中要记录的数据 137
7.2 数据库的逻辑设计 137
7.2.2 各种关系的实体表定义 138
7.2.3 所有表的列定义 140
7.2.4 标识一列或多列作为主关键字 141
7.2.5 确保相等的值表示相同的实体 143
7.2.6 表设计的规范化问题 143
7.2.7 制定约束实施计划 147
7.3 逻辑设计需要考虑的事项 151
7.4 数据库的物理设计 152
7.4.1 数据库目录 152
7.4.2 估计表的空间需求 154
7.4.3 附加空间需求 159
7.4.4 设计节点组 160
7.4.5 设计和选择表空间 165
7.5 联合体数据库设计需要考虑的事项 173
第8章 创建DB2数据库 175
8.1.1 几个重要的概念 176
8.1 创建DB2数据库的原理 176
8.1.2 创建节点组 178
8.1.3 将实用程序与数据库绑定 179
8.1.4 编目数据库 179
8.2 创建表空间 180
8.3 创建模式 184
8.4 创建和填充表 185
8.4.1 大对象列的考虑事项 186
8.4.2 定义约束 187
8.4.3 在新表上定义生成列 191
8.4.4 创建用户定义临时表 192
8.4.5 在新表上定义标识列 193
8.4.6 在多个表空间中创建一个表 193
8.4.7 在分区数据库中创建表 194
8.5 创建触发器 195
8.6 创建用户定义的函数 197
8.7 创建函数映射 198
8.8 创建函数模板 199
8.9 创建用户定义类型 199
8.10 创建视图 201
8.11 创建摘要表 203
8.12 创建别名 204
8.13 创建封装器 206
8.14 创建服务器 206
8.15 创建索引、索引扩充或索引规范 209
8.15.1 使用CREATE INDEX语句 212
8.15.2 定义索引扩充的一个方案 213
第9章 改变DB2数据库 217
9.1 改变数据库的配置 218
9.2 删除数据库 219
9.3 改变表空间 219
9.5.1 添加列至现存表 223
9.5 修改表的结构和内容 223
9.4 删除模式 223
9.5.2 修改列定义 225
9.5.3 改变约束 225
9.5.4 在现存表上定义生成列 229
9.5.5 将表说明为易失的 232
9.5.6 改变摘要表特性 232
9.6 重命名现存表 233
9.7 删除表 234
9.8 删除触发器 235
9.9 改变或删除视图 235
9.10 删除摘要表 236
9.11 改变或删除服务器 237
9.12 改变或删除别名 237
9.13 删除索引、索引扩充或索引规范 238
第10章 DB2数据库的安全性控制 241
10.1 选择用户ID和组 242
10.2.1 DB2服务器的认证类型 243
10.2 DB2的认证 243
10.2.2 使用DCE安全服务认证用户 246
10.2.3 联合体数据库认证处理 251
10.3 DB2访问控制的层次结构 254
10.3.1 数据库权限 255
10.3.2 数据库特权 256
10.4 用户和组 260
10.4.1 添加和删除用户 261
10.4.2 添加和删除组 262
10.4.3 更改用户和组的权限和特权 262
10.5 通过授权控制数据库对象的存取 263
10.5.1 显式授权 263
10.5.2 与应用程序开发有关的权限 265
10.5.3 隐式授权 266
10.5.4 权限的查询 267
10.5.5 撤销特权 267
10.5.6 使用视图控制数据的存取 268
第11章 数据移动 271
11.1 调出表的功能和使用 272
11.2 调入的功能和使用 274
11.3 装入的功能和使用 278
11.3.1 建立例外表 282
11.3.2 处理异常情况 283
11.3.3 装入的完整操作步骤 285
11.3.4 使用控制中心进行装入 286
11.3.5 调入和装入的对比 287
第12章 DB2数据库的备份与恢复 289
12.1 日志 290
12.1.1 DB2日志管理配置参数 291
12.1.2 日志的类型 292
12.1.3 日志文件的用途 293
12.2 数据库级别上的备份和恢复 295
12.2.1 执行数据库级别的备份 295
12.2.2 执行数据库级别上的恢复 297
12.3 执行表空间级别上的备份或恢复 302
12.3.1 在控制中心备份表空间 303
12.3.2 在控制中心复原表空间 304
12.4 有关备份恢复策略讨论的总结 305
12.5 恢复历史文件 306
第13章 DB2数据库性能监控 309
13.1 DB2数据库性能概述 310
13.2 DB2数据库结构模型 312
13.2.1 DB2存储体系结构 312
13.2.2 DB2数据管理 315
13.2.3 DB2进程模型 321
13.2.4 DB2内存模型 324
13.3 监控DB2数据库 326
13.3.1 DB2性能监控程序 326
13.3.2 事件分析程序 329
13.4 SQL存取方案图 330
第14章 DB2数据库应用开发基础 333
14.1.1 DB2程序结构 334
14.1 DB2应用程序开发概述 334
14.1.2 选择开发方法 335
14.1.3 一些相关的概念 335
14.2 应用程序的设计方法 340
14.3 设置开发环境 342
14.3.1 设置OS/2环境 343
14.3.2 设置UNIX环境 344
14.3.3 设置Windows 32位操作系统环境 344
14.4 构建文件、Makefile和错误检查实用程序 346
14.4.1 构建文件 346
14.4.2 Makefile 348
14.4.3 错误检查实用程序 350
第15章 SQL应用编程 369
15.1 静态SQL程序的结构和特点 370
15.1.1 静态SQL程序的结构 370
15.1.2 静态SQL程序的特点 372
15.2.1 宿主变量的声明 373
15.2 宿主变量和指示符变量的使用 373
15.2.2 宿主变量的使用 375
15.2.3 指示符变量的声明 377
15.2.4 指示符变量的使用 377
15.3 使用游标处理多行结果集 380
15.3.1 声明和使用游标 380
15.3.2 游标与工作单元的考虑 381
15.3.3 例程 382
15.3.4 更新和删除提取的数据 387
15.4 诊断信息处理与SQLCA结构 394
15.4.1 SQLCA结构 394
15.4.2 WHENEVER语句 396
15.4.3 查询错误 398
15.5 复合SQL语句 398
15.5.1 复合SQL的例子 399
15.5.2 复合SQL的限制 400
15.6.1 动态SQL概述 401
15.6 动态嵌入式SQL应用编程 401
15.6.2 支持动态嵌入式SQL的语句 402
15.6.3 动态游标的处理 404
15.6.4 SQLDA的使用 405
第16章 DB2数据库高级编程 409
16.1 存储过程 410
16.1.1 客户端应用程序 410
16.1.2 服务器端存储过程的实现 413
16.2 DB2调用层接口(CLI) 415
16.2.1 CLI应用的配置 417
16.2.2 常用CLI函数总结 418
16.3 创建Java程序 421
16.3.1 设置Java开发环境 422
16.3.2 创建JDBC程序 425
16.3.3 创建Java存储过程 431
附录 DB2 数据库命名规则 445