第一部分 SQL工具、技巧和秘诀 2
第1章 魔力词汇 2
1.1 SQL语言概述 3
1.1.1 SQL语言的特性 4
1.1.2 一次一个集合的数据处理 5
1.1.3 SQL类型 8
1.2 SQL工具 10
1.2.1 选择和投影 10
1.2.2 连接和子查询 11
1.2.3 合并 17
1.2.4 外连接 19
1.2.5 排序和分组 21
1.2.6 HAVING和WHERE的区别 21
1.2.7 关系除法 22
1.2.8 CASE表达式 22
1.2.9 SQL函数 24
1.2.10 DB2中数据结构的定义 25
1.2.11 DB2数据结构的安全控制 27
1.3 静态SQL 28
1.4 动态SQL 30
1.5 影响SQL的性能因素 30
1.5.1 优化器简介 31
1.5.2 影响访问路径 31
1.5.3 DB2优化器“提示” 33
1.5.4 DB2性能特征 34
1.6 小结 36
第2章 数据操作指南 37
2.1 大量的技巧 37
2.2 SQL访问使用指南 39
2.3 复杂SQL的使用指南 53
2.4 日期和时间指南 63
2.5 数据修改指南 66
2.6 小结 69
第3章 使用DB2函数 70
3.1 列函数 70
3.1.1 AVG函数 71
3.1.2 COUNT函数 71
3.1.3 COUNT_BIG函数 72
3.1.4 MAX函数 72
3.1.5 MIN函数 72
3.1.6 STDDEV函数 73
3.1.7 SUM函数 73
3.1.8 VARIANCE函数 73
3.2 标量函数 74
3.3 RAISE_ERROR函数 80
3.4 内置函数指南 80
3.4.1 使用函数而不用程序逻辑 80
3.4.2 避免使用同义词 81
3.4.3 用RPPER函数代替TRANSLATE 81
3.4.4 使用HAVAING子句来查询列函数的结果 82
3.5 小结 82
第4章 用户自定义函数和用户自定义数据类型 83
4.1 什么是用户自定义函数 83
4.2 用户自定义函数的类型 83
4.2.1 模式 84
4.2.2 创建用户自定义函数 84
4.2.3 函数如何执行 86
4.2.4 表函数 89
4.2.5 有源函数 90
4.2.6 用户定义函数指南 90
4.3 什么是用户定义数据类型 97
4.4 用户定义数据类型和强类型 97
4.4.1 用户定义单值类型和LOB 98
4.4.2 使用UDT满足业务需要 99
4.4.3 赋值和用户定义函数 101
4.4.4 用户定义单值类型指南 101
4.5 小结 103
第5章 数据定义指南 104
5.1 命名规范 104
5.2 数据库、表空间和表的指南 109
5.2.1 数据库定义 113
5.2.2 使用简单表空间 115
5.2.3 使用分段的表空间 116
5.2.4 使用LOB表空间 117
5.2.5 使用分区的表空间 117
5.2.6 表空间参数 120
5.2.7 每个分段表空间定义多个表 132
5.3 表定义指南 135
5.3.1 更改表名 135
5.3.2 全局临时表 135
5.3.3 规范化 136
5.3.4 非规范化 136
5.4 行和列的指南 144
5.5 DB2表参数 152
5.6 索引指南 162
5.7 其他的DDL指南 168
5.8 小结 169
第6章 使用触发器来实现一致性 170
6.1 什么是触发器 170
6.1.1 模式 170
6.1.2 触发器与其他DB2对象类似 170
6.1.3 为什么使用触发器 171
6.1.4 什么时候触发器会被触发 172
6.1.5 创建触发器 173
6.1.6 触发器包 177
6.1.7 触发器可以触发其他触发器 178
6.2 触发器使用指南 179
6.3 小结 182
第7章 大对象和对象/关系数据库 183
7.1 对象/关系的定义 183
7.2 什么是大对象 183
7.2.1 大对象列与VARCHAR和VARG-RAPHIC的比较 184
7.2.2 创建含有大对象列的表 185
7.2.3 访问LOB数据 187
7.3 LOB指南 189
7.4 DB2扩展器 192
7.5 小结 197
第8章 其他方面的实用指南 198
8.1 安全性和权限使用指南 198
8.2 视图使用和实现指南 205
8.2.1 视图使用规则 205
8.2.2 不为每个基本表创建一个视图的原因 209
8.2.3 其他的视图指南 212
8.3 通用的SQL编码指南 214
8.4 小结 215
第二部分 DB2应用程序开发 218
第9章 在应用程序中使用DB2 218
9.1 嵌入式SQL基础 219
9.2 嵌入式SQL使用指南 220
9.3 宿主变量 229
9.3.1 宿主结构 231
9.3.2 空指示变量和结构 231
9.3.3 宿主变量使用指南 233
9.4 使用游标编程 235
9.5 嵌入式SELECT和游标编码指南 238
9.6 用嵌入式SQL修改数据 241
9.7 批处理程序指南 249
9.8 联机编程指南 256
9.9 小结 261
第10章 动态SQL程序 262
10.1 动态SQL的性能 262
10.2 动态SQL指南 263
10.3 你应该了解动态SQL的原因 269
10.4 EXECUTE IMMEDIATE 269
10.5 非SELECT语句的动态SQL 271
10.6 固定列表SELECT 274
10.7 可变列表SELECT 276
10.8 小结 279
第11章 程序的准备 280
11.1 程序准备的步骤 280
11.1.1 发布DCLGEN命令 280
11.1.2 对程序预编译 283
11.1.3 使用BIND命令 283
11.1.4 编译程序 284
11.1.5 链接程序 285
11.2 运行DB2程序 285
11.3 准备一个DB2程序 286
11.3.1 使用DB2I进行的程序的准备 286
11.3.2 使用批处理过程准备程序 292
11.3.3 使用CLIST或REXX EXEC准备程序 294
11.3.4 使用多种方法准备程序 294
11.4 什么是DBRM 297
11.5 什么是计划 298
11.6 什么是包 298
11.6.1 使用包的优点 299
11.6.2 包的管理问题 300
11.6.3 包的性能 301
11.7 什么是集合 302
11.7.1 集合的大小 303
11.7.2 包列表的大小 303
11.8 版本 303
11.9 程序准备的对象 303
11.10 程序准备指南 304
11.11 DCLGEN准则 304
11.12 预编译程序指南 306
11.13 BIND指南 307
11.14 链接编辑程序指南 319
11.15 小结 320
第12章 DB2应用开发的其他方法 321
12.1 仅使用SQL语言来开发应用 321
12.2 使用客户机/服务器编程语言 323
12.2.1 连接DB2 323
12.2.2 客户机/服务器指南 324
12.3 使用第四代语言 326
12.4 使用CASE 327
12.5 使用报表书写器 330
12.6 使用ODBC 331
12.7 使用Java:SQLJ和JDBC 334
12.8 小结 335
第13章 使用DB2存储过程 336
13.1 什么是存储过程 336
13.1.1 实现DB2的存储过程 337
13.1.2 为什么要使用存储过程 337
13.2 实现DB2存储过程 339
13.2.1 开发一个存储过程 339
13.2.2 创建存储过程 343
13.2.3 管理存储过程 345
13.2.4 运行存储过程 345
13.2.5 存储过程使用指南 346
13.3 过程化DBA 349
13.4 过程化SQL 349
13.4.1 IBM的SQL存储过程语言 350
13.4.2 过程化SQL的优点 354
13.4.3 过程化SQL的缺点 355
13.5 存储过程生成器 355
13.6 小结 356
第14章 过程化DBA 357
14.1 传统DBA的作用 357
14.2 过程化DBA的作用 358
14.3 小结 361
第15章 DB2与Internet 362
15.1 Internet现象 362
15.1.1 万维网 362
15.1.2 Usenet新闻组 364
15.1.3 邮件列表 364
15.1.4 在Internet中使用DB2 365
15.2 通过Internet访问DB2 365
15.2.1 使用Net.Data连接Internet 365
15.2.2 Net.Data指南 367
15.2.3 提供Net.Data宏语言的培训 367
15.2.4 Java Applets和JavaScript 367
15.2.5 使用良好的编程技巧 367
15.3 使用Java和DB2 368
15.4 使用Internet查找DB2相关信息 373
15.4.1 Internet资源 373
15.4.2 Internet指南 381
15.5 小结 384
第三部分 DB2深入研究 386
第16章 DB2之门 386
16.1 TSO 388
16.1.1 TSO/DB2的参数 389
16.1.2 使用TSO批处理方式存取DB2 389
16.1.3 使用前台的TSO存取DB2 390
16.1.4 联机TSO/DB2设计技术 391
16.1.5 DB2I和SPUFI 392
16.1.6 查询管理设施 402
16.1.7 其他基于TSO的DB2工具 406
16.1.8 TSO指南 406
16.2 CICS 408
16.2.1 CICS术语和操作 409
16.2.2 CICS表 409
16.2.3 CICS/DB2程序准备 410
16.2.4 CICS挂接机制 411
16.2.5 线程的类型 413
16.2.6 RCT参数 414
16.2.7 RCT指南 420
16.2.8 两阶段提交 423
16.2.9 CICS设计指南 424
16.3 信息管理系统 428
16.3.1 信息管理系统的程序类型 429
16.3.2 信息管理系统挂接机制 429
16.3.3 联机环境附加的注意事项 431
16.3.4 资源转换表 432
16.3.5 IMS/TM线程使用 432
16.3.6 两阶段提交 433
16.3.7 重新启动 435
16.3.8 IMS/DB2的死锁 435
16.3.9 IMS SYSGEN指南 436
16.3.10 DL/I批处理接口 436
16.3.11 IMS/TM设计指南 438
16.4 CAF 439
16.4.1 线程的产生与使用 440
16.4.2 CAF的优点和缺点 441
16.4.3 第三方工具 441
16.4.4 CAF代码的样本 441
16.5 RRSAF 442
16.6 环境对比 442
16.6.1 资源可用性 442
16.6.2 可行性 443
16.6.3 批处理中应考虑的问题 444
16.6.4 关键部分 445
16.7 小结 445
第17章 数据共享 447
17.1 数据共享的好处 447
17.2 数据共享的需求 448
17.2.1 DB2数据共享组 449
17.2.2 应用程序的影响 450
17.3 DB2连接设施 451
17.3.1 定义连接设施 451
17.3.2 全局锁定管理 451
17.3.3 全局系统间通信 452
17.3.4 全局数据缓存 452
17.4 数据共享的命名规范 453
17.5 数据共享管理 454
17.5.1 数据共享组的创建 455
17.5.2 备份和恢复 455
17.5.3 子系统的可用性 456
17.5.4 监视数据共享组 456
17.5.5 连接设施的恢复 456
17.6 数据共享指南 457
17.7 小结 458
第18章 后台的DB2 459
18.1 数据的物理存储 459
18.1.1 表空间数据页 463
18.1.2 LOB页 464
18.1.3 索引页 465
18.1.4 记录标记符 471
18.2 DB2操作原理 471
18.3 小结 474
第19章 优化器 475
19.1 物理数据的独立性 476
19.2 优化器的工作方式 477
19.2.1 CPU成本 477
19.2.2 I/O成本 477
19.2.3 DB2编目统计信息 477
19.2.4 SQL语句 479
19.3 过滤因子 479
19.4 访问路径的策略 481
19.4.1 扫描 481
19.4.2 顺序预取 483
19.4.3 索引访问 486
19.4.4 查询并行性 495
19.4.5 连接的方法 498
19.4.6 并行连接 503
19.5 优化器执行的其他操作 504
19.6 小结 508
第20章 DB2的基于表的结构 510
20.1 DB2编目 510
20.1.1 什么是DB2编目 510
20.1.2 规则一个的特例 514
20.1.3 活动编目的好处 515
20.1.4 DB2编目的结构 515
20.2 DB2目录 518
20.2.1 SCT02 518
20.2.2 SPT01 519
20.2.3 DBD01 519
20.2.4 SYSUTILX 519
20.2.5 SYSLGRNX 519
20.3 QMF管理表 519
20.4 小结 520
第21章 锁定DB2数据 521
21.1 DB2管理锁定的方式 521
21.2 锁定和锁存器 523
21.3 锁定的持续时间 524
21.3.1 影响表空间锁定的BIND参数 524
21.3.2 影响页和行锁定的BIND参数 524
21.4 表空间锁定 526
21.5 表锁定 528
21.6 页锁定 529
21.7 行锁定 530
21.8 锁定挂起、超时和死锁 532
21.9 分区独立性 533
21.9.1 声明 534
21.9.2 放弃 534
21.10 锁定的避免 536
21.11 数据共享全局锁定的管理 537
21.11.1 全局锁定 537
21.11.2 锁定结构 537
21.11.3 分层锁定 537
21.11.4 P锁定和L锁定 538
21.12 LOB和锁定 538
21.12.1 LOB锁定的类型 539
21.12.2 LOB锁定的持续时间 539
21.12.3 LOB表空间锁定的注意事项 540
21.13 DB2锁定的准则 540
21.14 其他DB2组件 544
21.15 大图片 545
21.16 小结 546
第四部分 DB2性能监视 549
第22章 传统的DB2性能监视 549
22.1 DB2跟踪 549
22.1.1 账户跟踪 550
22.1.2 审核跟踪 551
22.1.3 全局跟踪 551
22.1.4 监视器跟踪 551
22.1.5 性能跟踪 552
22.1.6 统计跟踪 552
22.2 跟踪目标 552
22.3 跟踪指南 553
22.4 DB2-PM 554
22.4.1 账户报告集 555
22.4.2 审核报告集 567
22.4.3 解释报告集 568
22.4.4 I/O活动报告集 568
22.4.5 锁定报告集 569
22.4.6 记录跟踪报告集 570
22.4.7 SQL跟踪报告集 571
22.4.8 统计报告集 571
22.4.9 汇总报告集 576
22.4.10 系统参数报告集 576
22.4.11 通行时间报告集 576
22.5 使用DB2-PM 577
22.6 联机DB2性能监视器 580
22.6.1 传统的VTAM性能监视器 580
22.6.2 基于代理的性能管理 581
22.6.3 联机性能监视的汇总 582
22.7 查看DB2控制台消息 582
22.8 显示DB2资源的状态 586
22.9 监视OS/390和MVS 586
22.10 小结 587
第23章 使用EXPLAIN 588
23.1 EXPLAIN的工作方式 588
23.2 访问路径和PLAN_TABLE 589
23.2.1 查询PLAN_TABLE 591
23.2.2 PLAN_TABLE列 592
23.2.3 样本访问路径 597
23.3 成本估计和DSN_STATEMNT_TABLE 601
23.4 函数解析和DSN_FUNCTION_TABLE 603
23.5 EXPLAIN指南 604
23.6 小结 608
第24章 使用DB2编目监视DB2对象 609
24.1 导航查询 610
24.2 物理分析查询 615
24.3 分区统计信息查询 620
24.4 程序员的帮助查询 621
24.5 应用有效性查询 624
24.6 权限查询 625
24.7 DB2编目查询指南 627
24.8 小结 629
第五部分 DB2的性能调整 633
第25章 调整DB2环境 633
25.1 调整OS/390与MVS环境 633
25.1.1 调整内存使用 633
25.1.2 调整CPU使用 639
25.1.3 调整I/O 641
25.1.4 调整各种MVS参数与选项 645
25.2 调整远程处理环境 648
25.3 小结 648
第26章 调整DB2组件 649
26.1 调整DB2子系统 649
26.1.1 调整DB2编目 649
26.1.2 DSNZPARM 651
26.1.3 进入眼泪缓冲池 654
26.1.4 缓冲池参数 657
26.1.5 确定缓冲池尺寸 659
26.1.6 DB2缓冲池指导 661
26.1.7 高性能池 662
26.1.8 数据共享组缓冲池 664
26.1.9 数据共享缓冲池指导 666
26.1.10 IRLM调整选项 667
26.2 调整数据库设计 667
26.3 调整应用程序 668
26.3.1 分析访问路径 669
26.3.2 干预优化器 670
26.3.3 各种指导 680
26.3.4 考虑删除不规则分布式统计信息 681
26.3.5 DB2参照完整性的使用 681
26.3.6 一般应用程序调整 682
26.4 引起DB2性能问题的原因 682
26.5 小结 686
第27章 DB2资源管理 687
27.1 DB2资源限制设施 687
27.1.1 “反应”管理 687
27.1.2 “预兆”管理 687
27.1.3 定义RLST 688
27.2 QMF管理器 691
27.3 QMF F参数 692
27.4 小结 693
第六部分 DB2实用程序和命令 696
第28章 DB2实用程序介绍 696
第29章 数据一致性实用程序 702
20.1 CHECK实用程序 703
29.2 CHECK DATA选项 703
29.2.1 引用完整性检查 703
29.2.2 检查约束的检测 704
29.2.3 LOB引用的检测 705
29.2.4 估计CHECK DATA的工作数据集的大小 706
29.2.5 CHECK DATA的锁定考虑 707
29.2.6 CHECK DATA指南 707
29.3 CHECK LOB选项 709
29.3.1 CHECK LOB的各个阶段 710
29.3.2 CHECK LOB的锁定考虑 711
29.3.3 EXCEPTIONS参数 711
29.4 CHECK INDEX选项 711
29.4.1 CHECK INDEX的各个阶段 712
29.4.2 估计CHECK INDEX工作数据集的大小 712
29.4.3 CHECK INDEX的锁定考虑 713
29.4.4 CHECK INDEX指南 713
29.5 REPAIR实用程序 714
29.6 REPAIR DBD选项 714
29.7 REPAIR LOCATE选项 716
29.7.1 REPAIR LOCATE的锁定考虑 717
29.7.2 REPAIR LOCATE指南 717
29.8 REPAIR SET选项 718
29.9 REPORT实用程序 720
29.9.1 REPORT TABLESPACE选项 720
29.9.2 REPORT TABLESPACESET指南 721
29.10 DIAGNOSE实用程序 721
29.11 小结 722
第30章 备份与恢复实用程序 723
30.1 COPY实用程序 723
30.1.1 COPY的各个阶段 725
30.1.2 计算SYSCOPY数据集的大小 725
30.1.3 COPY的锁定准则 726
30.1.4 COPY指南 727
30.2 MERGECOPY实用程序 731
30.2.1 MERGECOPY的各个阶段 732
30.2.2 估计SYSUT1和SYSCOPY数据集的大小 732
30.2.3 并发性 733
30.2.4 MERGECOPY指南 733
30.3 QUIESCE实用程序 734
30.3.1 QUIESCE的各个阶段 735
30.3.2 QUIESCE的锁定考虑 735
30.3.3 QUIESCE实用程序指南 736
30.4 RECOVER实用程序概述 737
30.5 RECOVER实用程序 738
30.5.1 RECOVER TABLESPACE实用程序 738
30.5.2 RECOVER INDEX(或RECOVER INDEXSPACE)实用程序 740
30.5.3 RECOVER的各个阶段 741
30.5.4 RECOVER的锁定考虑 741
30.5.5 RECOVER指南 741
30.6 REBUILD INDEX实用程序 744
30.6.1 REBUILD INDEX的各个阶段 745
30.6.2 估计REBUILD INDEX的工作数据集的大小 745
30.6.3 REBUILD INDEX的锁定考虑 746
30.6.4 REBUILD INDEX指南 746
30.7 REPAIR实用程序 747
30.8 REPORT RECOVERY实用程序 747
30.8.1 REPORT RECOVERY的锁定考虑 748
30.8.2 REPORT RECOVERY指南 748
30.9 小结 748
第31章 数据组织实用程序 749
31.1 LOAD实用程序 749
31.1.1 表的装载方式 749
31.1.2 估计LOAD工作数据集的大小 752
31.1.3 LOAD的各个阶段 753
31.1.4 在LOAD期间创建一个内嵌复制 753
31.1.5 在LOAD期间收集内嵌统计信息 754
31.1.6 LOAD重新运行/重启的过程 754
31.1.7 LOAD的锁定考虑 757
31.1.8 LOAD指南 757
31.2 REORG实用程序 763
31.2.1 建议的重组标准 763
31.2.2 重组原则 763
31.2.3 重组的频率 766
31.2.4 重组作业流 767
31.2.5 估计REORG工作数据集的大小 767
31.2.6 REORG INDEX的各个阶段 768
31.2.7 REORG TABLESPACE的各个阶段 769
31.2.8 LOB表空间的REORG TABLESPACE阶段 769
31.2.9 REORG的重新运行/重启的过程 769
31.2.10 在REORG期间收集内嵌统计信息 772
31.2.11 REORG和SHRLEVEL参数 772
31.2.12 使用SHRLEVEL CHANGE完成联机重组 773
31.2.13 REORG TABLESPACE的锁定考虑 775
31.2.14 REORG INDEX的锁定考虑 777
31.2.15 REORG指南 777
31.2.16 应在何时重组DB2编目和DB2目录 781
31.2.17 DB2编目重组的细节 783
31.2.18 编目重组的限制 785
31.3 小结 786
第32章 编目处理实用程序 787
32.1 CATMAINT实用程序 787
32.2 MODIFY实用程序 787
32.3 MODIFY RECOVERY实用程序 788
32.3.1 MODIFY RECOVERY的锁定考虑 789
32.3.2 MODIFY RECOVERY指南 789
32.4 RUNSTATS实用程序 790
32.4.1 RUNSTATS实用程序的各个阶段 794
32.4.2 RUNSTATS实用程序的锁定考虑 795
32.4.3 通过RUNSTATS实用程序更新DB2编目表 795
32.4.4 RUNSTATS实用程序指南 796
32.5 STOSPACE实用程序 799
32.5.1 STOSPACE的各个阶段 800
32.5.2 STOSPACE的锁定考虑 800
32.5.3 STOSPACE实用程序指南 800
32.6 小结 801
第33章 各种各样的实用程序 802
33.1 脱机实用程序 802
33.1.1 变化日志清单实用程序(DSNJU003) 802
33.1.2 打印日志映像实用程序(DSNJU004) 803
33.1.3 日志实用程序指南 803
33.1.4 DSNJLOGF指南 804
33.2 服务帮助 804
33.2.1 编目完整性验证实用程序(DSNICHKR) 804
33.2.2 DSNICHKR指南 805
33.2.3 压缩分析器(DSNICOMP) 806
33.2.4 DSNICOMP指南 807
33.2.5 脱机表空间复制服务帮助(DSNICOPY) 807
33.2.6 DSNICOPY指南 810
33.2.7 DB2转储和跟踪程序(DSNISDMP) 811
33.2.8 DSNISDMP数据集 812
33.2.9 DSNISDMP指南 812
33.2.10 恢复日志抽取器(DSNILOGP) 812
33.2.11 DSNILOGP准则 813
33.2.12 DB2数据集转储创建器(DSNIPRNT) 813
33.2.13 DSNIPRNT指南 814
33.3 DB2样本程序 814
33.3.1 动态SQL处理器(DSNTEP2) 815
33.3.2 DSNTEP2指南 816
33.3.3 动态的SQL更新程序(DSNTIAD) 817
33.3.4 DSNTIAD指南 818
33.3.5 样本卸载程序(DSNTIAUL) 818
33.3.6 DSNTIAUL指南 819
33.3.7 解释DSNTIAUL、DSNTIAD和DSNTEP2返回码 820
33.4 小结 821
第34章 DB2命令 822
34.1 DB2环境命令 822
34.2 信息收集命令 824
34.3 管理命令 832
34.4 环境控制命令 837
34.5 DSN命令 838
34.6 IMS命令 839
34.7 CICS命令 840
34.8 TSO命令 841
34.9 IRLM命令 841
34.10 小结 842
第35章 DB2实用程序和命令准则 843
35.1 实用程序指南 843
35.2 DB2实用程序的编目竞争 844
35.3 分区级别的操作 846
35.4 编码实用程序控制卡 846
35.5 指定BUFNO JCL参数 847
35.6 为DFSORT分配足够的分类工作空间 847
35.7 当装载或重组织时,设定LOG NO 848
35.8 当装载或重组织时,执行内嵌实用程序 848
35.9 使用COPY实用程序或DFSMS备份数据 848
35.10 REBUILD INDEX与CREATE INDEX 848
35.11 挂起状态 848
35.11.1 为什么会发生挂起状态 849
35.11.2 怎样来改正挂起状态 849
35.12 小结 850
第36章 DB2应急计划 851
36.1 什么是一个灾难 851
36.1.1 判定和管理风险 851
36.1.2 灾难恢复要求 852
36.1.3 灾难打击 853
36.1.4 DB2恢复的基础 853
36.1.5 策略#1:“大锤” 853
36.1.6 策略#2:“解剖刀” 854
36.1.7 策略#3:DSN1COPY 857
36.2 DB2环境考虑 858
36.3 DB2紧急计划指南 858
36.4 小结 860
第七部分 理想的DB2环境 862
第37章 一个完整DB2方案的各个组件 862
37.1 DB2工具 862
37.1.1 表改变工具(ALT) 863
37.1.2 审查工具(AUD) 865
37.1.3 DB2编目查询和分析工具(CAT) 867
37.1.4 压缩工具(COM) 868
37.1.5 DB2相关的客户/服务器工具(C/S) 869
37.1.6 数据库分析工具(DBA) 869
37.1.7 数据库建模和设计工具(DES) 870
37.1.8 DASD和空间管理工具(DSD) 871
37.1.9 DB2表编辑器 871
37.1.10 索引分析工具(IDX) 872
37.1.11 整合工具(INT) 873
37.1.12 DB2对象迁移工具(MIG) 873
37.1.13 数据移动工具(MOV) 874
37.1.14 杂项工具(MSC) 874
37.1.15 Internet使能工具(NET) 874
37.1.16 操作支持工具(OPR) 875
37.1.17 基于PC的DB2模拟产品(PC) 875
37.1.18 计划分析工具(PLN) 876
37.1.19 性能监视器(PM) 877
37.1.20 提高性能的产品(PRF) 878
37.1.21 DB2编程和开发工具(PRG) 879
37.1.22 QMF增强工具(QMF) 879
37.1.23 查询工具(QRY) 879
37.1.24 知识库(REP) 881
37.1.25 安全工具(SEC) 882
37.1.26 实用程序增强工具(UTL) 884
37.2 DB2工具供应商 885
37.2.1 供应商列表 886
37.2.2 评估DB2工具供应商 895
37.3 小结 901
第38章 组织的问题 902
38.1 教育 902
38.2 标准和过程 907
38.2.1 角色和责任 908
38.2.2 数据管理 910
38.2.3 数据库管理向导 910
38.2.4 系统管理向导 911
38.2.5 应用开发向导 911
38.2.6 DB2安全向导 911
38.2.7 SQL性能向导 912
38.2.8 QMF向导 912
38.2.9 命名规范 912
38.2.10 迁移和反转过程 913
38.2.11 设计评审指南 913
38.3 操作性支持 916
38.4 行政问题 917
38.5 环境支持 918
38.6 工具要求 918
38.7 小结 918
第八部分 分布式的DB2 921
第39章 DRDA 921
39.1 什么是DRDA 921
39.1.1 DRDA的优点 921
39.1.2 什么是RDA 922
39.2 DRDA功能 922
39.2.1 应用请求程序 923
39.2.2 应用服务器 923
39.2.3 数据库服务器 923
39.2.4 返回的内容 923
39.3 DRDA体系结构与标准 924
39.3.1 高级的程序到程序的通信 924
39.3.2 分布式数据管理 924
39.3.3 格式化的数据:目标内容体系结构 925
39.3.4 字符数据表示法体系结构 925
39.4 五个DRDA级别 925
39.4.1 用户帮助的分布 926
39.4.2 远程请求 926
39.4.3 远程工作单元 926
39.4.4 分布式工作单元 926
39.4.5 分布式请求 927
39.5 集成各个站点 927
39.6 小结 929
第40章 分布式DB2 930
40.1 用DB2分布数据 930
40.1.1 基本原理 930
40.1.2 通信数据库 930
40.1.3 分布式术语 931
40.2 DB2对DRDA级别的支持 931
40.2.1 远程请求 931
40.2.2 远程工作单元 932
40.2.3 分布式工作单元 932
40.3 访问分布式数据的方法 932
40.3.1 应用程序定向的数据访问 932
40.3.2 系统定向的数据访问 934
40.4 系统定向与应用定向的比较 936
40.5 静态SQL程序包 937
40.6 两阶段提交 937
40.7 两阶段提交的专用术语 937
40.7.1 什么是两阶段 938
40.7.2 分布式线程支持 939
40.8 各种各样的分布式主题 941
40.8.1 把DRDA与专用协议请求结合起来 941
40.8.2 联合DB2的释放 941
40.8.3 工作站级别的DB2 942
40.8.4 开发客户/服务器应用程序 942
40.8.5 ASCⅡ服务器支持 942
40.8.6 自身的TCP/IP支持 943
40.9 小结 943
第41章 分布指南 944
41.1 分布的背景知识 944
41.2 块获取 946
41.2.1 编码游标来促进块获取 946
41.2.2 最新数据 947
41.2.3 限制的块获取和连续块获取的比较 948
41.3 动态游标的预打开 949
41.4 分布式性能问题 950
41.4.1 分析分布式吞吐量 950
41.4.2 分析分布式响应时间 951
41.4.3 一般的分布式性能指南 951
41.5 分布式数据库设计问题 953
41.5.1 分裂 953
41.5.2 复制 954
41.5.3 快照 955
41.6 分布式数据放置 955
41.7 分布式优化 956
41.8 分布式安全指南 957
41.8.1 “出生”检查 957
41.8.2 权限ID的翻译 957
41.8.3 其他安全指南 958
41.9 各种分布式指南 958
41.10 小结 960
第42章 DB2数据仓库 961
42.1 定义基本术语 961
42.1.1 什么是数据仓库 961
42.1.2 可操作性数据与数据仓库 962
42.1.3 什么是数据集市 962
42.1.4 什么是可操作性数据商店 963
42.1.5 什么是OLAP 963
42.2 设计一个数据仓库 964
42.2.1 元数据的作用 965
42.2.2 星型模式 965
42.3 填充数据到一个数据仓库 967
42.3.1 复制与传播 967
42.3.2 快照 968
42.3.3 数据变换 968
42.4 访问数据仓库 971
42.5 管理数据仓库 971
42.6 大图片 972
42.7 数据仓库指南 973
42.8 小结 977
附录 980
附录A DB2 SQLCODE和SQLSTATE值 980
附录B DB2编目表 1022
附录C QMF管理表 1093
附录D DB2样本表 1097
附录E DB2手册 1103
附录F 1型索引 1107
附录G 有效的DB2数据类型 1111
附录H DB2的限制 1113
附录I 其他平台上的DB2 1117
附录J DB2版本4、5和6的变化总结 1120