《DB2通用数据库SQL开发人员指南》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)Roger E.Sanders著;杨正洪等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2001
  • ISBN:7111089677
  • 页数:734 页
图书介绍:

第一部分 数据库基本概念 1

第1章 DB2数据库结构 1

1.1 关系数据库 1

1.2 关系数据库的对象 1

1.2.1 数据库 2

1.2.2 表空间 3

1.2.3 表 3

1.2.4 索引 6

1.2.5 视图 7

1.2.7 触发器 8

1.2.6 程序包 8

1.2.8 别名 9

1.2.9 事件监视器 9

1.2.10 模式 9

1.2.11 系统目录视图 10

1.2.12 恢复日志文件和恢复历史文件 10

1.2.13 配置文件 11

1.3 DB2数据库目录 11

1.3.1 物理数据库目录 12

1.3.2 卷目录 12

1.3.5 数据库连接服务目录 13

1.3.3 系统目录 13

1.3.4 工作站目录 13

1.4 小结 14

第2章 数据库一致性机制 15

2.1 什么是数据一致性 15

2.2 事务 15

2.3 并发性和事务隔离级别 17

2.3.1 可重复读 18

2.3.2 读稳定性 18

2.3.3 游标稳定性 18

2.4 锁定 19

2.3.4 未提交读 19

2.3.5 指定隔离级别 19

2.4.1 锁定属性 20

2.4.2 锁定状态 20

2.4.3 锁定和应用程序性能 22

2.4.4 事务日志 28

2.4.5 数据库恢复 29

2.5 小结 30

3.1 什么是DB2数据库应用程序 33

第3章 DB2应用程序开发入门 33

第二部分 应用程序开发基础 33

3.2 设计一个DB2数据库应用程序 34

3.3 DB2数据库应用程序的元素 35

3.3.1 高级编程语言 35

3.3.2 SQL语句 36

3.3.3 CLI函数调用 38

3.3.4 API函数调用 39

3.4 建立DB2数据库应用程序开发环境 40

3.5.2 创建测试表和视图 41

3.5.1 创建测试数据库 41

3.5 建立DB2数据库应用程序测试环境 41

3.5.3 产生测试数据 42

3.6 管理事务 42

3.7 创建并准备源代码文件 43

3.8 小结 43

第4章 编写嵌入式SQL应用程序 44

4.1 关于嵌入式SQL语句的原型 44

4.2 嵌入式SQL源代码文件的主要部分 44

4.2.1 创建程序头 44

4.2.2 创建程序体 48

4.2.3 创建程序尾 49

4.3 创建使用常用错误处理程序 50

4.4 使用异常处理程序、信号程序和中断处理程序 51

4.5 创建可执行程序和包 51

4.5.1 预编译源代码文件 52

4.5.2 编译源代码文件 53

4.5.3 链接目标程序 54

4.5.4 创建和绑定包 54

4.6 时间戳 54

4.7 运行、测试和调试嵌入式SQL应用程序 55

4.8 小结 55

5.1.1 整理顺序 57

第5章 在复杂的环境下的编程 57

5.1 母语支持 57

5.1.2 本国语言环境 58

5.1.3 代码页 59

5.2 对日语和繁体中文EUC代码集的支持 61

5.3 多个数据库的两阶段提交处理 61

5.4 两阶段提交的处理过程 62

5.4.1 两阶段提交期间的错误恢复 63

5.4.2 两阶段提交的限制 64

5.6 多线程数据库的存取 65

5.5 DRDA服务器的存取 65

5.6.1 编程的考虑 66

5.6.2 防止死锁的发生 67

5.7 并发事务 68

5.8 X/Open XA接口支持 68

5.9 网络环境下的大宗数据的移动 71

5.10 节点组和数据分区 71

5.10.1 并行性的类型 72

5.10.2 启用数据分区 74

5.10.4 使用缓存插人 75

5.10.3 使用直接的DSS和本地旁路 75

5.10.5 处理分区数据库环境中的错误 78

5.11 小结 79

第6章 改进应用程序的性能 80

6.1 协调嵌入SQL查询 80

6.1.1 包含SELECT语句的查询 80

6.1.2 存取两个或更多个的表的查询 82

6.1.3 复合查询 82

6.2 索引管理 82

6.2.1 创建索引的准则 83

6.2.2 优化索引性能 85

6.3 表空间管理 87

6.4 使用预编译器的优化特征 89

6.4.1 设置优化级别 91

6.4.2 确定使用哪种优化级别 92

6.5 行分块 93

6.6 锁和应用程序性能 94

6.7 代码页的选择 96

6.8 数据分区 96

6.8.1 表并置 96

6.9 小结 97

6.8.2 选择正确的分区键 97

第三部分 SQL语句 99

第7章 应用编程语言构建语句 99

7.1 SQL预编译器指令 99

7.2 动态SQL支持 100

7.3 动态SQL和参数标志 100

7.4 高速缓存 103

7.5 DB2编程语言构建SQL语句 105

7.6 BEGIN DECLARE SECTION 106

7.7 END DECLARE SECTION 109

7.8 FREE LOCATOR 109

7.9 INCLUDE 112

7.10 WHENEVER 113

7.11 BEGIN COMPOUND 117

7.12 END COMPOUND 123

7.13 PREPARE 123

7.14 DESCRIBE 129

7.15 EXECUTE 134

7.16 EXECUTE IMMEDIATE 139

7.17 EXPLAIN 143

8.1 连接管理 148

第8章 数据库连接和事务控制语句 148

8.2 应用的状态 149

8.3 连接状态 150

8.4 影响连接管理的SQL预编译程序选项 151

8.5 事务管理 152

8.6 DB2数据库的连接及事务控制SQL语句 153

8.7 CONNECT 153

8.8 SET CONNECTION 163

8.9 RELEASE 164

8.10 DISCONNECT 167

8.11 LOCK TABLE 168

8.12 COMMIT 171

8.13 ROLLBACK 175

第9章 数据存取和修改控制语句 180

9.1 授权和权限 180

9.2 实例级授权 180

9.2.1 系统管理授权 180

9.2.2 系统控制授权 180

9.2.3 系统维护授权 180

9.3.4 CREATETAB授权 181

9.3.6 IMPLICIT_SCHEMA授权 181

9.3.5 CREATE_NOT_FENCED授权 181

9.3.2 BINDADD授权 181

9.3.3 CONNECT授权 181

9.3.1 数据库管理授权 181

9.3 数据库级授权 181

9.4 权限 182

9.4.1 ALTER权限 182

9.4.2 ALTERIN权限 182

9.4.3 BIND权限 182

9.4.4 CONTROL权限 182

9.4.11 PASSTHRU权限 183

9.4.12 REFERENCES权限 183

9.4.10 INSERT权限 183

9.4.13 SELECT权限 183

9.4.5 CREATEIN权限 183

9.4.9 INDEX权限 183

9.4.8 EXECUTE权限 183

9.4.7 DROPIN权限 183

9.4.6 DELETE权限 183

9.4.14 UPDATE权限 184

9.5 授予和撤消授权和权限 184

9.6 DB2数据存取和修改控制的SQL语句 184

9.7 GRANT:数据库授权 185

9.8 GRANT:表、视图和别名权限 190

9.9 GRANT:索引权限 197

9.10 GRANT:包权限 201

9.11 GRANT:模式权限 206

9.12 REVOKE:数据库授权 211

9.13 REVOKE:表、视图和别名权限 213

9.14 REVOKE:索引权限 216

9.15 REVOKE:包权限 216

9.16 REVOKE:模式权限 218

10.1 概述 220

10.1.1 创建缓冲池 220

第10章 数据定义语言语句 220

10.1.2 创建节点组 221

10.1.3 创建表空间 221

10.1.4 创建表 221

10.1.5 创建视图 222

10.1.6 创建索引 225

10.1.7 创建模式 226

10.1.8 创建别名 226

10.1.10 删除一个对象 227

10.2 DB2的DDL语句 227

10.1.9 给一个数据库对象添加注解 227

10.3 CREATE BUFFERPOOL 228

10.4 CREATE NODEGROUP 234

10.5 CREATE TABLESPACE 238

10.6 CREATE TABLE(Normal) 248

10.7 CREATE TABLE(Typed) 268

10.8 CREATE TABLE(Summary) 284

10.9 CREATE VIEW(Normal) 294

10.10 CREATE VIEW(Typed) 302

10.11 CREATE INDEX 312

10.12 CREATE SCHEMA 319

10.13 CREATE ALIAS 324

10.14 COMMENT ON 329

10.15 DROP 337

第11章 修改数据对象的定义 346

11.1 修改节点组 346

11.2 修改表空间 346

11.3 修改表的结构 346

11.4 重命名表 347

11.5 控制完整性检查 347

11.7 ALTER BUFFERPOOL 348

11.6 修改DB2数据定义的SQL语句 348

11.8 ALTER NODEGROUP 354

11.9 ALTER TABLESPACE 359

11.10 ALTER TABLE 367

11.11 ALTER VIEW 386

11.12 RENAME TABLE 395

11.13 REFRESH TABLE 400

11.14 SET INTEGRITY 405

12.1 查询 419

12.2 SELECT语句和它的子句 419

第12章 数据操纵语言语句 419

12.2.1 From子句 420

12.2.2 WHERE子句 420

12.2.3 GROUP BY子句 423

12.2.4 HAVING子句 424

12.2.5 UNION子句 424

12.2.6 ORDER BY子句 425

12.3 什么是子查询 425

12.4 使用一个游标检索多行记录 425

12.5 INSERT语句 427

12.8 DB2数据操纵语言SQL语句 428

12.6 UPDATE语句 428

12.7 DELETE语句 428

12.9 SELECT INTO 429

12.10 VALUES INTO 432

12.11 DECLARE CURSOR 435

12.12 OPEN 442

12.13 FETCH 444

12.14 CLOSE 447

12.15 INSERT 448

12.16 UPDATE 454

12.17 DELETE 463

第13章 用户自定义数据类型、用户自定义函数和存储过程 470

13.1 用户自定义数据类型 470

13.1.1 用户自定义单值数据类型 471

13.1.2 用户自定义结构数据类型 472

13.2 为什么使用用户自定义数据类型 472

13.3 用户自定义函数 473

13.3.1 有源函数 473

13.3.2 外部标量函数 474

13.3.3 外部表函数 474

13.3.4 外部OLE DB函数 475

13.3.5 创建函数映射 476

13.3.6 创建函数模板 476

13.4 为什么使用用户自定义函数 477

13.5 存储过程 477

13.5.1 编写存储过程 478

13.5.2 编写存储过程的规则 479

13.6 DB2用户自定义数据类型、用户自定义函数和存储过程的SQL定义语句 480

13.7 CREATE DISTINCT TYPE 481

13.8 CREATE TYPE(Structured) 488

13.9 ALTER TYPE(Structured) 499

13.10 CREATE FUNCTION(Source or Template) 505

13.11 CREATE FUNCTION(External Scalar) 514

13.12 CREATE FUNCTION(External Table) 537

13.13 CREATE FUNCTION(OLE DB Exteranl Table) 558

13.14 CREATE PROCEDURE 568

13.15 CALL 587

14.6 约束和触发器之间的比较 590

第14章 触发器 594

14.1 触发器的用途和定义 594

14.1.1 在被触发事件中使用函数 597

14.1.2 多触发器的顺序 597

14.2 使用转换变量 598

14.3 触发器中的错误处理 598

14.4 触发器的级联 599

14.5 递归触发器 599

14.7 约束和触发器之间的配合 600

14.8 定义DB2触发器的SQL语句 600

14.9 CREATE TRIGGER 601

14.10 SET(Transition Variation) 610

14.11 SIGNAL SQLSTATE 612

15.2 创建事件监控器 616

第15章 数据库事件监控器 616

15.1 事件监控器 616

15.2.1 事件记数 617

15.2.2 事件监控器的输出 617

15.2.3 事件监控器的数据流格式 618

15.3 DB2控制数据库事件监控器的SQL语句 618

15.4 CREATE EVENT MONITOR 619

15.5 SET EVENT MONITPR STATE 627

15.6 FLUSH EVENT MONITOR 631

16.1.1 CURRENT DATE专用寄存器(数据类型:DATE) 636

16.1 DB2专用寄存器 636

第16章 设置DB2的专用寄存器 636

16.1.2 CURRENT DEGREE专用寄存器(数据类型:CHAR(5)) 637

16.1.3 CURRENT EXPLAIN MODE专用寄存器(数据类型:VARCHAR(254)) 637

16.1.4 CURRENT EXPLAIN SNAPSHOT专用寄存器(数据类型:CHAR(8)) 637

16.1.5 CURRENT NODE专用寄存器(数据类型:INTERGER) 637

16.1.6 CURRENT PATH专用寄存器(数据类型:VARCHAR(254)) 638

16.1.7 CURRENT QUERY OPTIMIZATION专用寄存器(数据类型:INTEGER) 638

16.1.8 CURRENT REFRESH AGE专用寄存器(数据类型:DECIMAL(20,6)) 638

16.1.9 CURRENT SCHEMA专用寄存器(数据类型:VARCHAR(128)) 638

16.1.14 USER专用寄存器(数据类型:VARCHAR(128)) 639

16.1.13 CURRENT TIMEZONE专用寄存器(数据类型:DECIMAL(6,0)) 639

16.2 修改DB2专用寄存器的SQL语句 639

16.1.10 CURRENT SERVER专用寄存器(数据类型:VARCHAR(18)) 639

16.1.12 CURRENT TIMESTAMP专用寄存器(数据类型:TIMESTAMP) 639

16.1.11 CURRENT TIME专用寄存器(数据类型:TIME) 639

16.3 SET PATH 640

16.4 SET SCHEMA 644

16.5 SET CURRENT DEGREE 647

16.6 SET CURRENT QUERY OPTIMIZATION 650

16.7 SET CURRENT PACKAGESET 656

16.8 SET CURRENT EXPLAIN MODE 660

16.9 SET CURRENT EXPLAIN SNAPSHOT 664

16.10 SET CURRENT REFRESH AGE 668

第四部分 附录 673

附录A SQL数据结构 673

附录B SQL函数 683

附录C 联合体系统 696

附录D DB2数据库链接管理器 703

附录E 开发JDBC应用程序和applet 709

附录F 程序示例是怎样开发的 725