首页>参考读物>计算机科学与技术>数据库

DB2 UDB V7.1通用数据库系统开发
作者 : 侯迪 容红强
丛书名 : IBM/Lotus技术丛书
出版日期 : 2002-01-01
ISBN : 7-111-09464-6
定价 : 39.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 364
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

DB2 UDB是IBM公司为UNIX、os/2和Windows NT操作系统提供的目标关系型数据库解决方案。本书主要内容包括:DB2开发基础、DB2应用程序设计方法、静态SQL应用编程、动态SQL应用编程、DB2 CLI应用编程、存储过程、大对象使用、用户定义类型和用户定义函数及主动数据库等。并在附录中提供了JDBC API的全面参考。
本书条理清晰、实用性强,为快速掌握DB2通用数据库提供了有效的参考。

图书前言

在当今的信息化社会,随着企业用户对信息需要的不断增长,应用的数据量、复杂性和多样性也日益提高,过去仅仅满足于简单数据管理的用户们,现在已越来越感到对功能强大的数据库管理系统工具的迫切需要。
DB2 UDB是IBM公司推出的最新一代功能强大的关系对象数据库管理系统(RDBMS)软件产品系列。它允许用户(包括终端用户和应用程序员)通过结构化查询语言SQL将数据看作关系或表的集合进行存取。
IBM San Jose研究所的E.F.Codd博士于1970年首先提出了数据库中的关系模型和关系方法,这是数据库技术发展史上的一个重要里程碑。多年来IBM一直致力于关系数据库技术的研究和开发,并最早将关系数据库产品投入到实际应用中。由于IBM对数据库技术和产品上的持续不断的投入,使得DB2在竞争激烈的数据库产品市场中始终保持着技术上的领先地位。
由于关系数据库模型、SQL语言以及一系列数据库技术都是由IBM的研究人员率先提出的,加上IBM又能充分利用其作为硬件产品和操作系统厂商的多重优势,使得DB2产品系列的性能在各种平台上都能得到最佳的发挥。此外,IBM作为信息处理领域多种国际标准的制定者和积极参加者,在DB2产品的各个层面,从网络协议支持到应用编程接口都采用了最新的国际标准。
目前,DB2已发展成为一个庞大的数据库管理系统产品系列。它可以帮助用户在各种平台或环境下建立统一的或分布的企业级数据库系统及其应用程序;它具有优良的可伸缩性,能够支持从单处理器到多处理器直到大规模平行处理等各种硬件系统;它能够支持文本、影像、声音、图像等多媒体信息的存储和检索,使用户可以开发出丰富多彩、图文并茂的应用程序;它具有强大的Web连接功能和对Java的完整支持,成为用户开发各种电子商务解决方案的重要基础。
近年来,本书作者参与了许多有关DB2数据库系统应用开发和技术培训方面的工作。我们感到,随着IBM DB2数据库管理系统得到越来越广泛的应用,目前非常需要有一本全面介绍DB2应用开发技术方面的书籍,以满足这一发展趋势。
本书包括以下14章内容:第1章介绍了IBM DB2数据库产品系列及其主要特性;第2章介绍了有关DB2应用开发的一些概念、术语,包括DB2程序设计接口和程序结构,以及如何在UNIX和Windows平台上设置开发环境等;第3章概括介绍了DB2应用程序开发的主要方法以及如何设置测试环境;第4章介绍如何在宿主语言中使用静态嵌入式SQL编写访问DB2数据库的应用程序;第5章介绍如何在宿主语言中使用动态嵌入式SQL编写访问DB2数据库的应用程序;第6章介绍如何使用DB2调用层接口(Call Level Interface,简称CLI)编写访问DB2数据库的应用程序;第7章介绍如何使用存储过程进行DB2数据库服务器端的应用开发,以及DB2新的“存储过程构造器”的使用方法;第8章介绍了如何在应用中有效处理大对象数据的有关编程技术;第9章介绍如何在DB2中创建并使用用户定义类型(UDT)和用户定义函数(UDF);第10章介绍了如何在DB2中通过“约束规则”和“触发器”实现某些主动数据库特征,并给出了一个主动数据库实现的例子;第11章介绍了影响DB2应用性能的主要因素,提高应用性能的有效措施和实用工具,以及如何使用DB2性能监视器和SQL解释工具来发现、分析并改善应用程序的性能;第12章介绍如何使用JDBC和SQLJ编写出访问DB2数据库的Java应用程序或小程序;第13章介绍如何使用DB2 XML Extender来存储和存取XML文档、从现存关系数据生成XML文档以及将XML文档分解为关系数据等内容;第14章介绍了一个完整的基于DB2以及XML的电子商务应用实例。
本书由侯迪和容红强共同编写。其中第1章到第4章以及第12章由容红强负责编写。第5章至第11章以及第13章和第14章由侯迪负责编写。
在本书的编写过程中,我们得到了IBM公司大学合作部和软件部的大力支持和帮助,尤其是IBM公司大学合作部的刘佳、曹晶为本书的编写做了大量卓有成效的组织协调工作,在此表示衷心感谢。
由于时间仓促加之作者水平有限,书中难免有各种错误,望广大读者不吝批评指正。

作者简介

侯迪 容红强:暂无简介

图书目录

第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.4  DB2通用数据库企业版 2
1.1.5  DB2通用数据库企业扩展版 2
1.1.6  DB2 Connect个人版 2
1.1.7  DB2 Connect企业版 2
1.1.8  DB2通用开发版 2
1.1.9  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章  DB2开发基础 6
2.1  开发的必要条件 6
2.2  程序结构 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  相关概念 10
2.3.1  嵌入式SQL编程 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.2  静态SQL 17
2.4.3  使用API 17
2.4.4  例子 17
2.5  设置开发环境 18
2.5.1  设置UNIX环境 18
2.5.2  设置 Windows 32 位操作系统环境 21
2.5.3  创建测试数据库 24
2.5.4  生成测试数据 24
第3章  DB2应用程序设计方法 25
3.1  DB2程序设计接口 25
3.1.1  使用DB2 API 25
3.1.2  使用嵌入式 SQL 语句 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.5  OLE自动化UDF和存储过程 34
3.2.6  触发器 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章  静态SQL应用编程 43
4.1  在C程序中使用静态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.3  EXECUTE语句 75
5.2.4  EXECUTE IMMEDIATE语句 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.4.4  动态FETCH语句 80
5.5  SQLDA的使用 80
5.5.1  SQLDA的结构与声明 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  DB2 CLI程序的结构 100
6.2.1  CLI句柄 100
6.2.2  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.2  有关被调用存储过程的名称的约定 127
7.3.3  通过主变量传递过程调用参数 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  DB2存储过程构造器 136
7.6.1  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.4  UDT的使用 167
9.1.5  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.3.4  注册外部函数的例子 180
9.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.1  NOT NULL约束 193
10.2.2  唯一约束 193
10.2.3  主键约束 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.5  重组表 242
11.2.6  有关统计信息的系统编目表 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.7  在一段时间内分析事件 248
11.3.8  事件分析程序 248
11.4  SQL解释设施 250
11.4.1  选择解释工具 250
11.4.2  使用SQL解释设施 251
14.4.3  解释的基本概念 252
11.4.4  解释信息的组织 254
11.4.5  获取解释数据 257
11.4.6  可视化解释器 260
第12章  用Java开发DB2应用程序 264
12.1  编程考虑 264
12.1.1  Java语言的优点 264
12.1.2  JDBC简介 264
12.1.3  SQLJ概述 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  JDBC 2.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.3.6  编译和运行SQLJ应用程序 279
12.4  存储过程和UDF 279
12.4.1  Java类的存放位置 280
12.4.2  函数定义 280
12.4.3  注册存储过程和UDF 282
12.5  用JDBC 1.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章  DB2 XML Extender应用编程 286
13.1  IBM DB2 Extender概述 286
13.1.1  XML文档 286
13.1.2  XML应用程序 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  顾客登录和注册模块的实现 323
14.2.1  用户界面描述 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.3  订购模块处理流程 335
14.4.4  orderbasket.jsp文件 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

教学资源推荐
作者: Ramon A.Mata-Toledo,Pauline K.Cushman
作者: [美]拉姆什·沙尔达(Ramesh Sharda) 杜尔森·德伦(Dursun Delen)埃弗瑞姆·特班(Efraim Turban) 著
作者: [英]托马斯 M. 康诺利(Thomas M. Connolly) 卡洛琳 E. 贝格(Carolyn E. Begg)著
作者: [美] 查鲁·C. 阿加沃尔(Charu C. Aggarwal) 著
参考读物推荐
作者: 郭鹏 著
作者: (美)Kevin Loney Marlene Theriault 等