《DB2 UDB V7.1通用数据库系统开发》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:侯迪,容红强编著
  • 出 版 社:北京市:机械工业出版社
  • 出版年份:2002
  • ISBN:7111094646
  • 页数:354 页
图书介绍:DB2 UDB是IBM公司为UNIX、os/2和Windows NT操作系统提供的目标关系型数据库解决方案。本书主要内容包括:DB2开发基础、DB2应用程序设计方法、静态SQL应用编程、动态SQL应用编程、DB2 CLI应用编程、存储过程、大对象使用、用户定义类型和用户定义函数及主动数据库等。并在附录中提供了JDBC API的全面参考。本书条理清晰、实用性强,为快速掌握DB2通用数据库提供了有效的参考。

前言 1

第1章 DB2 UDB概述 1

1.1 DB2 UDB产品系列 1

1.1.1 DB2通用数据库卫星版 1

1.1.2 DB2通用数据库个人版 1

1.1.3 DB2通用数据库工作组版 1

1.1.9 DB2个人开发版 2

1.1.8 DB2通用开发版 2

1.1.7 DB2 Connect企业版 2

1.1.6 DB2 Connect个人版 2

1.1.5 DB2通用数据库企业扩展版 2

1.1.4 DB2通用数据库企业版 2

1.1.10 DB2 Query Patroller 3

1.1.11 DB2 DataLink Manager 3

1.2 DB2的特性 3

1.2.1 通用性 3

1.2.2 可靠性 3

1.2.3 高性能 4

1.3 DB2在电子商务中的优势 4

1.4 DB2在商业智能中的优势 4

1.5 小结 5

2.1 开发的必要条件 6

2.2 程序结构 6

第2章 DB2开发基础 6

2.2.1 声明和初始化变量 7

2.2.2 连接到数据库 8

2.2.3 执行事务 8

2.2.4 结束程序 9

2.2.5 自动结束事务 9

2.2.6 应用程序框架 9

2.3.1 嵌入式SQL编程 10

2.3 相关概念 10

2.3.2 预编译 11

2.3.3 程序包 12

2.3.4 联编 12

2.3.5 工作单元 12

2.3.6 应用程序、联编文件与程序包之间的关系 14

2.3.7 定界符 15

2.4 权限考虑 16

2.4.1 动态SQL 16

2.4.4 例子 17

2.4.3 使用API 17

2.4.2 静态SQL 17

2.5 设置开发环境 18

2.5.1 设置UNIX环境 18

2.5.2 设置Windows32位操作系统环境 21

2.5.3 创建测试数据库 24

2.5.4 生成测试数据 24

3.1.1 使用DB2 API 25

3.1.2 使用嵌入式SQL语句 25

3.1 DB2程序设计接口 25

第3章 DB2应用程序设计方法 25

3.1.3 使用DB2调用层接口 27

3.1.4 使用JDBC 29

3.1.5 使用ADO和RDO 30

3.1.6 使用IBM及第三方和ODBC最终用户工具 30

3.2 DB2功能部件 31

3.2.1 约束 31

3.2.2 用户定义类型和大对象 32

3.2.3 存储过程 33

3.2.4 用户定义函数 33

3.2.6 触发器 34

3.2.5 OLE自动化UDF和存储过程 34

3.3 设计DB2程序 35

3.3.1 访问数据 35

3.3.2 数据值控制 37

3.3.3 数据关系控制 40

3.3.4 服务器上的应用逻辑 40

3.3.5 构造SQL语句的原型 40

3.4 设置测试环境 41

3.4.1 创建测试数据库 41

3.4.2 生成测试数据 42

4.1 在C程序中使用静态SQL 43

第4章 静态SQL应用编程 43

4.2 主变量 44

4.3 SQL声明区 45

4.4 INSERT、DELETE和UPDATE语句 47

4.5 使用游标 48

4.5.1 游标声明 48

4.5.2 OPEN语句 50

4.5.3 FETCH语句 50

4.5.4 CLOSE语句 52

4.5.5 定位UPDATE和DELETE语句 52

4.5.6 在交互式SQL中使用游标 53

4.6 单行SELECT和VALUES语句 54

4.7 复合SQL 55

4.8 诊断处理 57

4.8.1 SQLCA结构 57

4.8.2 WHENEVER语句 59

4.8.3 获取错误信息 61

4.9 处理双字节字符串 61

4.10 例程 62

4.11 在C++程序中使用静态SQL 67

4.12 静态SQL的特点 70

第5章 动态SQL应用编程 72

5.1 动态SQL概述 72

5.1.1 为什么要使用动态SQL 72

5.1.2 动态SQL与静态SQL的比较 72

5.1.3 动态SQL与CLI的比较 73

5.2 处理嵌入式动态SQL的语句 74

5.2.1 PREPARE语句 74

5.2.2 DESCRIBE语句 74

5.2.4 EXECUTE IMMEDIATE语句 75

5.2.3 EXECUTE语句 75

5.3 嵌入式动态SQL应用程序的基本结构 76

5.3.1 不包含SELECT语句的动态SQL程序的结构 76

5.3.2 包含SELECT语句但结果列固定的动态SQL程序的结构 76

5.3.3 包含SELECT语句且结果列不固定的动态SQL程序的结构 77

5.4 动态游标的使用 78

5.4.1 动态游标与静态游标的比较 78

5.4.2 声明动态游标 79

5.4.3 动态OPEN语句 79

5.5.1 SQLDA的结构与声明 80

5.5 SQLDA的使用 80

5.4.4 动态FETCH语句 80

5.5.2 SQLDA的描述和准备 85

5.5.3 SQLDA的使用 87

5.6 动态SQL程序的例子 87

第6章 DB2 CLI应用编程 98

6.1 DB2 CLI概述 98

6.1.1 DB2 CLI的来源 98

6.1.2 DB2 CLI和ODBC 98

6.1.3 DB2 CLI的特点 99

6.2.1 CLI句柄 100

6.2.2 CLI程序的基本结构 100

6.2 DB2 CLI程序的结构 100

6.2.3 初始化和结束阶段 101

6.2.4 事务处理阶段 102

6.2.5 错误诊断和处理 104

6.3 CLI数据类型与类型转换 104

6.4 CLI高级编程技术 106

6.4.1 分布式工作单元 106

6.4.2 访问系统编目表 107

6.4.3 用数组 作为输入参数 108

6.4.4 将查询结果输出到数组中 110

6.5 DB2 CLI应用编程环境的配置 112

6.6 CLI应用程序的例子 114

6.7 CLI函数总结 119

第7章 存储过程 123

7.1 存储过程的概念 123

7.2 存储过程的程序结构 125

7.2.1 存储过程与客户端应用程序的功能划分 125

7.2.2 存储过程应用的创建 125

7.3 客户端应用程序 126

7.3.1 CALL语句 126

7.3.3 通过主变量传递过程调用参数 127

7.3.2 有关被调用存储过程的名称的约定 127

7.3.4 通过SQLDA传递过程调用参数 128

7.4 服务器端的存储过程 129

7.4.1 CREATE PROCEDURE语句 129

7.4.2 实现存储过程的函数定义 130

7.4.3 存储过程的参数传递 131

7.4.4 存储过程的返回值 131

7.5 用嵌入式SQL开发存储过程 132

7.5.1 服务器端的例程与结构 132

7.5.2 客户端的例程与结构 135

7.6.1 DB2存储过程构造器概述 136

7.6 DB2存储过程构造器 136

7.6.2 使用存储过程构造器 137

7.6.3 SQL存储过程概述 145

7.6.4 存储过程样例 146

第8章 大对象的使用 150

8.1 大对象的类型和特征 150

8.1.1 BLOB 150

8.1.2 CLOB 150

8.1.3 BDCLOB 150

8.2 建立LOB列 151

8.3 在应用程序中使用LOB变量 153

8.4 LOB定位符 155

8.5 文件引用变量 159

8.6 LOB数据类型的限制 160

8.7 LOB应用编程的例子 161

第9章 用户定义类型和用户定义函数 164

9.1 用户定义类型 164

9.1.1 用户定义类型概述 164

9.1.2 创建UDT 164

9.1.3 类型转换函数 166

9.1.5 UDT的赋值 167

9.1.4 UDT的使用 167

9.2 用户定义函数概述 168

9.2.1 DB2 SQL函数的分类 168

9.2.2 UDF的优点 170

9.2.3 有关UDF的几个基本概念 171

9.2.4 UDF的实现步骤 172

9.3 注册UDF 172

9.3.1 注册有源函数 172

9.3.2 有源函数的例子 174

9.3.3 注册外部函数 175

9.4 函数的解析 180

9.3.4 注册外部函数的例子 180

9.5 外部函数的实现 181

9.5.1 外部函数的参数传递接口 181

9.5.2 SQL函数与外部函数之间的参数类型转换 185

9.5.3 一个外部函数的例子 186

9.5.4 scratchpad函数 188

9.5.5 安装外部函数 189

第10章 主动数据库 192

10.1 主动数据库概述 192

10.2 约束 192

10.2.3 主键约束 193

10.2.1 NOT NULL约束 193

10.2.2 唯一约束 193

10.2.4 Check约束 194

10.2.5 外键约束 194

10.3 触发器 196

10.3.1 触发器的构成 196

10.3.2 触发器的建立和删除 198

10.3.3 赋值语句 200

10.3.4 SIGNAL语句 200

10.3.5 前触发器 201

10.3.6 后触发器 203

10.3.7 递归触发器 207

10.4 一个主动数据库的设计 209

第11章 数据库应用性能 226

11.1 数据库应用性能的考虑事项 226

11.1.1 DB2优化器 226

11.1.2 调整优化级别 228

11.1.3 重新联编 228

11.1.4 行分块 229

11.1.5 限制结果集以改进性能 230

11.1.6 编写SELECT语句的准则 231

11.1.7 复合SQL语句 232

11.1.8 代码页和字符转换对应用性能的影响 232

11.1.9 存储过程 233

11.1.10 激活数据库 234

11.1.11 应用程序的并行处理 234

11.1.12 输入/输出性能 235

11.2 提高数据库应用性能的措施和实用工具 237

11.2.1 性能实用工具 237

11.2.2 聚簇索引和非聚簇索引 238

11.2.3 收集数据库统计信息 239

11.2.4 确定是否需要重组表 240

11.2.6 有关统计信息的系统编目表 242

11.2.5 重组表 242

11.3 数据库性能监视器 243

11.3.1 事件监视器 243

11.3.2 使用监视器工具 244

11.3.3 监控和调整数据库的考虑事项 244

11.3.4 监控某个时间点的性能 245

11.3.5 预定义的监视器 246

11.3.6 当一个对象出现在 警报中心 时需要执行的操作 247

11.3.8 事件分析程序 248

11.3.7 在一段时间内分析事件 248

11.4 SQL解释设施 250

11.4.1 选择解释工具 250

11.4.2 使用SQL解释设施 251

11.4.3 解释的基本概念 252

11.4.4 解释信息的组织 254

11.4.5 获取解释数据 257

11.4.6 可视化解释器 260

12.1.3 SQLJ概述 264

12.1.1 Java语言的优点 264

12.1.2 JDBC简介 264

12.1 编程考虑 264

第12章 用Java开发DB2应用程序 264

12.1.4 SQLJ与JDBC的比较 265

12.1.5 源程序与输出文件 266

12.1.6 Java类库 266

12.1.7 Java程序包 266

12.1.8 系统支持的SQL数据类型 266

12.1.9 SQLSTATE与SQLCODE 267

12.1.10 创建Java应用程序和小程序 268

12.2 JDBC应用编程 269

12.2.1 一个样例程序 270

12.2.2 发布JDBC应用程序 272

12.2.3 发布和运行JDBC小程序 272

12.2.4 JDBC2.0 272

12.3 SQLJ应用编程 273

12.3.1 DB2 SQLJ支持 273

12.3.2 嵌入SQL语句 273

12.3.3 一个样例程序 275

12.3.4 主变量 278

12.3.5 存储过程和函数的调用 278

12.4 存储过程和UDF 279

12.3.6 编译和运行SQLJ应用程序 279

12.4.2 函数定义 280

12.4.1 Java类的存放位置 280

12.4.3 注册存储过程和UDF 282

12.5 用JDBC1.22处理LOB 282

12.6 JDBC与SQLJ的互操作性 282

12.6.1 将JDBC连接转为SQLJ连接 283

12.6.2 将SQLJ连接转为JDBC连接 283

12.6.3 共享和关闭连接 283

12.6.4 SQLJ迭代器和JDBC结果集的互操作性 284

13.1.1 XML文档 286

13.1.2 XML应用程序 286

第13章 DB2 XML Extender应用编程 286

13.1 IBM DB2 Extendet概述 286

13.1.3 将XML集成到DB2中 287

13.1.4 XML Extender管理工具 288

13.1.5 XML文档存储和存取方法 288

13.1.6 DTD存储表 288

13.1.7 文档存取定义 288

13.2 XML列:结构化文档的存储和检索 288

13.2.1 位置路径 289

13.2.2 XML列术语 290

13.3 XML集合:集成化的数据管理 291

13.4 管理XML列数据 292

13.4.1 XML Extender UDT和UDF的命名 293

13.4.2 存储数据 293

13.4.3 检索数据 294

13.4.4 更新XML数据 297

13.4.5 搜索XML文档 299

13.4.6 删除XML文档 302

13.5 管理XML集合数据 302

13.5.1 将DB2数据组合成XML文档 303

13.5.2 将XML文档分解为DB2数据 310

13.5.3 存取XML集合 313

13.5.4 搜索XML集合 314

第14章 电子商务应用实例分析:XMLAPP 317

14.1 XMLAPP应用需求分析 317

14.1.1 XMLAPP顾客端服务功能和处理流程 317

14.1.2 XMLAPP供货商服务功能和处理流程 318

14.1.3 XMLAPP数据库逻辑结构 319

14.1.4 XMLAPP中的文档类型定义 321

14.2.1 用户界面描述 323

14.2 顾客登录和注册模块的实现 323

14.2.2 将XSL样式单应用于XML文档 324

14.2.3 用于实现用户登录界面的XML和XSL源文件 325

14.2.4 RegisterServlet 327

14.2.5 LogonServlet 329

14.2.6 RegisterChangeServlet 329

14.3 搜索引擎的实现 329

14.4 购物篮和订购模块的实现 333

14.4.1 购物篮和订购模块用户界面描述 333

14.4.2 用JAVA BEAN实现购物篮 333

14.4.4 orderbasket.jsp文件 335

14.4.3 订购模块处理流程 335

14.4.5 购物篮BEAN的实现 336

14.5 订单跟踪模块的实现 342

14.5.1 用户界面描述 342

14.5.2 BrowseOrderServlet 343

14.5.3 CustomerStorageServlet 343

14.6 XMLAPP供货商服务模块的实现 344

14.6.1 供应商服务模块的用户界面描述 344

14.6.2 供应商服务模块中的JSP文件 346

14.6.3 供应商服务模块中的Servlet 346

附录A JDBC API 348