内容简介
第一部分 数据库基本概念
第1章 DB2数据库结构
1.1 关系数据库
1.2 关系数据库的对象
1.2.1 数据库
1.2.2 表空间
1.2.3 表
1.2.4 索引
1.2.5 视图
1.2.7 触发器
1.2.6 程序包
1.2.8 别名
1.2.9 事件监视器
1.2.10 模式
1.2.11 系统目录视图
1.2.12 恢复日志文件和恢复历史文件
1.2.13 配置文件
1.3 DB2数据库目录
1.3.1 物理数据库目录
1.3.2 卷目录
1.3.5 数据库连接服务目录
1.3.3 系统目录
1.3.4 工作站目录
1.4 小结
第2章 数据库一致性机制
2.1 什么是数据一致性
2.2 事务
2.3 并发性和事务隔离级别
2.3.1 可重复读
2.3.2 读稳定性
2.3.3 游标稳定性
2.4 锁定
2.3.4 未提交读
2.3.5 指定隔离级别
2.4.1 锁定属性
2.4.2 锁定状态
2.4.3 锁定和应用程序性能
2.4.4 事务日志
2.4.5 数据库恢复
2.5 小结
3.1 什么是DB2数据库应用程序
第3章 DB2应用程序开发入门
第二部分 应用程序开发基础
3.2 设计一个DB2数据库应用程序
3.3 DB2数据库应用程序的元素
3.3.1 高级编程语言
3.3.2 SQL语句
3.3.3 CLI函数调用
3.3.4 API函数调用
3.4 建立DB2数据库应用程序开发环境
3.5.2 创建测试表和视图
3.5.1 创建测试数据库
3.5 建立DB2数据库应用程序测试环境
3.5.3 产生测试数据
3.6 管理事务
3.7 创建并准备源代码文件
3.8 小结
第4章 编写嵌入式SQL应用程序
4.1 关于嵌入式SQL语句的原型
4.2 嵌入式SQL源代码文件的主要部分
4.2.1 创建程序头
4.2.2 创建程序体
4.2.3 创建程序尾
4.3 创建使用常用错误处理程序
4.4 使用异常处理程序、信号程序和中断处理程序
4.5 创建可执行程序和包
4.5.1 预编译源代码文件
4.5.2 编译源代码文件
4.5.3 链接目标程序
4.5.4 创建和绑定包
4.6 时间戳
4.7 运行、测试和调试嵌入式SQL应用程序
4.8 小结
5.1.1 整理顺序
第5章 在复杂的环境下的编程
5.1 母语支持
5.1.2 本国语言环境
5.1.3 代码页
5.2 对日语和繁体中文EUC代码集的支持
5.3 多个数据库的两阶段提交处理
5.4 两阶段提交的处理过程
5.4.1 两阶段提交期间的错误恢复
5.4.2 两阶段提交的限制
5.6 多线程数据库的存取
5.5 DRDA服务器的存取
5.6.1 编程的考虑
5.6.2 防止死锁的发生
5.7 并发事务
5.8 X/Open XA接口支持
5.9 网络环境下的大宗数据的移动
5.10 节点组和数据分区
5.10.1 并行性的类型
5.10.2 启用数据分区
5.10.4 使用缓存插人
5.10.3 使用直接的DSS和本地旁路
5.10.5 处理分区数据库环境中的错误
5.11 小结
第6章 改进应用程序的性能
6.1 协调嵌入SQL查询
6.1.1 包含SELECT语句的查询
6.1.2 存取两个或更多个的表的查询
6.1.3 复合查询
6.2 索引管理
6.2.1 创建索引的准则
6.2.2 优化索引性能
6.3 表空间管理
6.4 使用预编译器的优化特征
6.4.1 设置优化级别
6.4.2 确定使用哪种优化级别
6.5 行分块
6.6 锁和应用程序性能
6.7 代码页的选择
6.8 数据分区
6.8.1 表并置
6.9 小结
6.8.2 选择正确的分区键
第三部分 SQL语句
第7章 应用编程语言构建语句
7.1 SQL预编译器指令
7.2 动态SQL支持
7.3 动态SQL和参数标志
7.4 高速缓存
7.5 DB2编程语言构建SQL语句
7.6 BEGIN DECLARE SECTION
7.7 END DECLARE SECTION
7.8 FREE LOCATOR
7.9 INCLUDE
7.10 WHENEVER
7.11 BEGIN COMPOUND
7.12 END COMPOUND
7.13 PREPARE
7.14 DESCRIBE
7.15 EXECUTE
7.16 EXECUTE IMMEDIATE
7.17 EXPLAIN
8.1 连接管理
第8章 数据库连接和事务控制语句
8.2 应用的状态
8.3 连接状态
8.4 影响连接管理的SQL预编译程序选项
8.5 事务管理
8.6 DB2数据库的连接及事务控制SQL语句
8.7 CONNECT
8.8 SET CONNECTION
8.9 RELEASE
8.10 DISCONNECT
8.11 LOCK TABLE
8.12 COMMIT
8.13 ROLLBACK
第9章 数据存取和修改控制语句
9.1 授权和权限
9.2 实例级授权
9.2.1 系统管理授权
9.2.2 系统控制授权
9.2.3 系统维护授权
9.3.4 CREATETAB授权
9.3.6 IMPLICIT_SCHEMA授权
9.3.5 CREATE_NOT_FENCED授权
9.3.2 BINDADD授权
9.3.3 CONNECT授权
9.3.1 数据库管理授权
9.3 数据库级授权
9.4 权限
9.4.1 ALTER权限
9.4.2 ALTERIN权限
9.4.3 BIND权限
9.4.4 CONTROL权限
9.4.11 PASSTHRU权限
9.4.12 REFERENCES权限
9.4.10 INSERT权限
9.4.13 SELECT权限
9.4.5 CREATEIN权限
9.4.9 INDEX权限
9.4.8 EXECUTE权限
9.4.7 DROPIN权限
9.4.6 DELETE权限
9.4.14 UPDATE权限
9.5 授予和撤消授权和权限
9.6 DB2数据存取和修改控制的SQL语句
9.7 GRANT:数据库授权
9.8 GRANT:表、视图和别名权限
9.9 GRANT:索引权限
9.10 GRANT:包权限
9.11 GRANT:模式权限
9.12 REVOKE:数据库授权
9.13 REVOKE:表、视图和别名权限
9.14 REVOKE:索引权限
9.15 REVOKE:包权限
9.16 REVOKE:模式权限
10.1 概述
10.1.1 创建缓冲池
第10章 数据定义语言语句
10.1.2 创建节点组
10.1.3 创建表空间
10.1.4 创建表
10.1.5 创建视图
10.1.6 创建索引
10.1.7 创建模式
10.1.8 创建别名
10.1.10 删除一个对象
10.2 DB2的DDL语句
10.1.9 给一个数据库对象添加注解
10.3 CREATE BUFFERPOOL
10.4 CREATE NODEGROUP
10.5 CREATE TABLESPACE
10.6 CREATE TABLE(Normal)
10.7 CREATE TABLE(Typed)
10.8 CREATE TABLE(Summary)
10.9 CREATE VIEW(Normal)
10.10 CREATE VIEW(Typed)
10.11 CREATE INDEX
10.12 CREATE SCHEMA
10.13 CREATE ALIAS
10.14 COMMENT ON
10.15 DROP
第11章 修改数据对象的定义
11.1 修改节点组
11.2 修改表空间
11.3 修改表的结构
11.4 重命名表
11.5 控制完整性检查
11.7 ALTER BUFFERPOOL
11.6 修改DB2数据定义的SQL语句
11.8 ALTER NODEGROUP
11.9 ALTER TABLESPACE
11.10 ALTER TABLE
11.11 ALTER VIEW
11.12 RENAME TABLE
11.13 REFRESH TABLE
11.14 SET INTEGRITY
12.1 查询
12.2 SELECT语句和它的子句
第12章 数据操纵语言语句
12.2.1 From子句
12.2.2 WHERE子句
12.2.3 GROUP BY子句
12.2.4 HAVING子句
12.2.5 UNION子句
12.2.6 ORDER BY子句
12.3 什么是子查询
12.4 使用一个游标检索多行记录
12.5 INSERT语句
12.8 DB2数据操纵语言SQL语句
12.6 UPDATE语句
12.7 DELETE语句
12.9 SELECT INTO
12.10 VALUES INTO
12.11 DECLARE CURSOR
12.12 OPEN
12.13 FETCH
12.14 CLOSE
12.15 INSERT
12.16 UPDATE
12.17 DELETE
第13章 用户自定义数据类型、用户自定义函数和存储过程
13.1 用户自定义数据类型
13.1.1 用户自定义单值数据类型
13.1.2 用户自定义结构数据类型
13.2 为什么使用用户自定义数据类型
13.3 用户自定义函数
13.3.1 有源函数
13.3.2 外部标量函数
13.3.3 外部表函数
13.3.4 外部OLE DB函数
13.3.5 创建函数映射
13.3.6 创建函数模板
13.4 为什么使用用户自定义函数
13.5 存储过程
13.5.1 编写存储过程
13.5.2 编写存储过程的规则
13.6 DB2用户自定义数据类型、用户自定义函数和存储过程的SQL定义语句
13.7 CREATE DISTINCT TYPE
13.8 CREATE TYPE(Structured)
13.9 ALTER TYPE(Structured)
13.10 CREATE FUNCTION(Source or Template)
13.11 CREATE FUNCTION(External Scalar)
13.12 CREATE FUNCTION(External Table)
13.13 CREATE FUNCTION(OLE DB Exteranl Table)
13.14 CREATE PROCEDURE
13.15 CALL
14.6 约束和触发器之间的比较
第14章 触发器
14.1 触发器的用途和定义
14.1.1 在被触发事件中使用函数
14.1.2 多触发器的顺序
14.2 使用转换变量
14.3 触发器中的错误处理
14.4 触发器的级联
14.5 递归触发器
14.7 约束和触发器之间的配合
14.8 定义DB2触发器的SQL语句
14.9 CREATE TRIGGER
14.10 SET(Transition Variation)
14.11 SIGNAL SQLSTATE
15.2 创建事件监控器
第15章 数据库事件监控器
15.1 事件监控器
15.2.1 事件记数
15.2.2 事件监控器的输出
15.2.3 事件监控器的数据流格式
15.3 DB2控制数据库事件监控器的SQL语句
15.4 CREATE EVENT MONITOR
15.5 SET EVENT MONITPR STATE
15.6 FLUSH EVENT MONITOR
16.1.1 CURRENT DATE专用寄存器(数据类型:DATE)
16.1 DB2专用寄存器
第16章 设置DB2的专用寄存器
16.1.2 CURRENT DEGREE专用寄存器(数据类型:CHAR(5))
16.1.3 CURRENT EXPLAIN MODE专用寄存器(数据类型:VARCHAR(254))
16.1.4 CURRENT EXPLAIN SNAPSHOT专用寄存器(数据类型:CHAR(8))
16.1.5 CURRENT NODE专用寄存器(数据类型:INTERGER)
16.1.6 CURRENT PATH专用寄存器(数据类型:VARCHAR(254))
16.1.7 CURRENT QUERY OPTIMIZATION专用寄存器(数据类型:INTEGER)
16.1.8 CURRENT REFRESH AGE专用寄存器(数据类型:DECIMAL(20,6))
16.1.9 CURRENT SCHEMA专用寄存器(数据类型:VARCHAR(128))
16.1.14 USER专用寄存器(数据类型:VARCHAR(128))
16.1.13 CURRENT TIMEZONE专用寄存器(数据类型:DECIMAL(6,0))
16.2 修改DB2专用寄存器的SQL语句
16.1.10 CURRENT SERVER专用寄存器(数据类型:VARCHAR(18))
16.1.12 CURRENT TIMESTAMP专用寄存器(数据类型:TIMESTAMP)
16.1.11 CURRENT TIME专用寄存器(数据类型:TIME)
16.3 SET PATH
16.4 SET SCHEMA
16.5 SET CURRENT DEGREE
16.6 SET CURRENT QUERY OPTIMIZATION
16.7 SET CURRENT PACKAGESET
16.8 SET CURRENT EXPLAIN MODE
16.9 SET CURRENT EXPLAIN SNAPSHOT
16.10 SET CURRENT REFRESH AGE
第四部分 附录
附录A SQL数据结构
附录B SQL函数
附录C 联合体系统
附录D DB2数据库链接管理器
附录E 开发JDBC应用程序和applet
附录F 程序示例是怎样开发的