目录 1
第一章 DB2概述 1
1.1 引论 1
1.2 DB2操作环境 3
1.3 与DB2有关的产品 5
1.4 DB2关系系统 6
1.5 SQL语言 10
1.6 总结 16
练习题 17
第二章 DB2系统结构 20
2.1 主要组成部分 20
2.2 详细控制流程 21
练习题 28
第三章 数据定义 29
3.1 引言 29
3.2 基本表 30
3.3 索引 35
3.4 讨论 37
练习题 38
第四章 数据操纵Ⅰ:检索操作 42
4.1 概述 42
4.2 简单查询 42
4.3 连接查询 53
4.4 小结 60
练习题 61
第五章 数据操纵Ⅱ:检索操作(续) 66
5.1 引言 66
5.2 子查询 67
5.3 存在量词 74
5.4 内部函数 82
5.5 并(UNION) 89
5.6 总结 92
练习题 94
6.1 引言 104
第六章 数据操纵Ⅲ:修改操作 104
6.2 UPDATE语句 105
6.3 DELETE语句 106
6.4 INSERT语句 108
6.5 总结 112
练习题 114
第七章 目录 121
7.1 引言 121
7.2 查询目录 123
7.3 修改目录 124
7.4 同义名(SYNONYM) 126
练习题 127
第八章 窗口 130
8.1 引言 130
8.2 窗口定义 132
8.3 检索操作 135
8.4 修改操作 136
8.5 逻辑数据独立性 145
8.6 窗口的优点 148
练习题 149
第九章 安全性与授权 153
9.1 引言 153
9.2 用户标识 154
9.3 窗口和安全性 155
9.4 GRANT与REVOKE 158
9.5 总结 164
练习题 165
第十章 应用程序设计Ⅰ:嵌入式SQL 170
10.1 引言 170
10.2 基本知识 171
10.3 不涉及游标的操作 174
10.4 涉及游标的操作 178
10.5 综合示例 181
练习题 186
11.1 引言 193
11.2 什么是事务 193
第十一章 应用程序设计Ⅱ:事务处理 193
11.3 COMMIT和ROLLBACK 196
11.4 三个并发问题 199
11.5 DB2如何解决三个并发问题 203
11.6 显式封锁功能 208
11.7 死锁(DEADLOCK) 211
11.8 总结 212
练习题 213
12.1 引言 216
第十二章 应用程序设计Ⅲ:动态SQL 216
12.2 非SELECT语句的处理 217
12.3 SELECT语句的处理 220
12.4 总结 223
第十三章 存储结构 225
13.1 引言 225
13.2 数据库 227
13.3 表空间 228
13.4 存储表 230
13.5 索引空间 232
13.6 索引 233
13.7 存储器组 234
13.8 总结 235
第十四章 DB2交互接口(DB2Ⅰ) 237
14.1 引言 237
14.2 SPUFI 239
14.3 DCLGEN 241
14.5 PROGRAM PREPARATION 242
14.4 BIND/REBIND/FREE 242
14.6 RUN 243
14.7 OPERATOR COMMANDS 243
14.8 UTILITIES 243
14.9 绕过DB2Ⅰ 244
第十五章 查询管理工具QMF 245
15.1 引言 245
15.2 报告生成 246
15.3 QUERY-BY-EXAMPLE 253
15.4 DATA EXTRACT 260
练习题 261
第十六章 总结和结论 265
16.1 引言 265
16.2 优点 266
16.3 性能 272
16.4 展望 277
A.1 引言 279
附录A 关系模型 279
A.2 关系数据结构 280
A.3 关系数据完整性 282
A.4 关系数据操纵 284
A.5 关系系统 289
附录B 关系数据库设计 291
B.1 引言 291
B.2 实体分类模式 292
B.3 主关键字和外来关键字 294
B.4 设计过程 296
B.5 记录设计决策:伪DDL 297
B.6 关于主关键字的处理方法 299
B.7 关于外来关键字的处理方法 299
B.8 规范化 300
B.9 各种提示与忠告 304
附录C SQL数据操纵操作语法 309
C.1 引言 309
C.2 名字 309
C.3 数据表达式 310
C.4 查询表达式 311
C.5 谓词 312
C.6 语句 313
附录D 系统需求 315
D.1 DB2 315
D.2 QMF 317
D.3 DXT 317
参考文献 318