DB2基本知识.ppt

合集下载

1、DB2基础知识(一)

1、DB2基础知识(一)
DB2 开发交流
DB2 基础知识(一)
1
内容提要
一、DB2概览 二、DB2的访问
三、DB2数据库对象
2
一、DB2概览
1.1 DB2是什么 1.2 DB2的版本
1.3 DB2平台支持
3
一、DB2概览
1.1 DB2是什么
IBM公司研制的关系型数据库系统
1969年IMS层次数据库诞生,为IBM第一代数据库也叫DB1。 1983年IBM发布Database2(DB2)for MVS,第二代数据库诞生。
6
二、DB2的访问
2.1 DB2的登录 2.2 SQL语句的运行 2.3 SQLSTATE & SQLCODE
7
二、DB2的访问
2.1 DB2的登录
远程登录到DB2服务器 通过本地客户端链接DB2服务器 节点目录、系统数据库目录和本地数据库目录间关系
8
二、DB2的访问
2.1 DB2的登录
27
三、DB2数据对象
表设计考虑
分区键选择
28
三、DB2数据对象
分区键选择
案例: CREATE TABLE TABLE_SAM(…) DISTRIBUTE BY HASH ( ...); 旧语法:partitioning key(…)
29
三、DB2数据对象
视图
视图是什么?

32
三、DB2数据对象
索引
索引是什么?

索引是表中一列或多列的键值的有序列表
为什么要使用索引?
• •
确保一列或多列中值的唯一性。 提高对表进行查询的性能。
33
三、DB2数据对象

DB2培训文档.pptx

DB2培训文档.pptx
RETURN v_return_code; END gen
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
调用者过程find_emp通过 get diagnostics取得被调用 者的返回值,get diagnostics 必须是紧跟在call语句之后
TIP:通过返回值判断 执行状态回结果集
存储过程中的结果集可以返回给别的存储过程,也可以返回 到客户端的应用程序。
定义游标的语法如下: declare <cursor-name> cursor [with hold] with return to caller [client] for <select statement> [stmt name]
IF ( v_total >= v_min ) THEN
SET p_bonus = 'Y'; ELSE
SET p_bonus = 'N'; END IF; END bn
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
✓传递参数
在存储过程嵌套调用过程中,参数依照出现的次序进行传递,如果数据类型不匹 配,请使用cast函数进行数据类型转换;
ELSEIF ( v_rc = 1000 ) THEN
SET p_output = 'The employee does not exist!';
ELSE
SET p_output = 'Something else went wrong.';
END IF;
END fe
--(1) --(2)
© 2006 IBM公司
© 2006 IBM公司

db2培训资料

db2培训资料

第一章DB2 UDB 概况1.1、DB2 UDB 的产品家族UDB(Universal Database )的前身为 DB2 ,是 IBM 公司开发的关系型数据库管理系统。

从其诞生之日开始,DB2 就定位于要为各种规模的企业提供稳定、高效的数据管理支持。

可以说,DB2 是当前适用范围最广泛的数据库产品。

我们对 DB2 产品的划分通常分为两种方法:一种方法是按其所能支持的硬件和操作系统平台进行划分,另一种方法是按其所能支持的用户规模的不同进行划分。

DB2 产品几乎覆盖了当前所有流行的硬件和操作系统平台。

在大型机操作系统上,有 DB2 for OS/390 、 DB2 for MVS/ESA 、DB2 for VSE 和 DB2 for VM 等多种产品;在由 IBM 公司设计的小型机 AS/400 上, DB2 已经嵌入在操作系统 OS/400 之中,成为其不可分割的一部分。

DB2 对 UNIX 操作系统的支持同样十分广泛,可以在 AIX 、 HP-UX 、 Solaris、 SCO-UNIX 、SINIX 等多种系统上找到其相应的版本。

另外,在 PC 操作系统上,DB2可以对 Window 9x、Windows NT以及OS/2等多种操作系统提供支持。

UDB 6.1 还增加了对 Linux 操作系统的支持。

以上我们所提到的只是 DB2 服务器所能运行的平台,DB2 的客户端所能支持的平台更为广泛,除了以上提到的所有平台之外,DB2 的客户端还能运行在 Dos、 Windows 3.x、 Mac OS 以及 SGI 公司的 IRIS 系统之上。

UDB 产品除了能够对各种硬件和操作系统平台进行支持之外,为了适应不同用户群的需要,UDB 提供了不同级别的产品,对小到个人用户,大到跨国企业的不同需求提供支持。

以下是对 UDB 6.1 版本不同级别产品的特点介绍:UDB 卫星版:是专门为移动用户设计的小型数据库产品。

《DB2数据库指南》幻灯片

《DB2数据库指南》幻灯片
ChinaSoft International 中软国际
第五章 数据库对象
➢ 表空间:是数据库以及存储在该数据库表之间的逻辑层。表空 间在数据库中创立,表在表空间中创立。默认创立在 userspace1的表空间内。
➢ 视图:试图是一个虚拟表,由一个或多个表或视图中派生出来 的,检索数据的时候可以与表交替使用。通过视图对数据做出修 改,那么相对应的表的数据也会被修改。
➢ DB2数据效劳:其中包括管理效劳、平安效劳、检索效劳、可 扩展性效劳、可用性效劳、性能优化效劳、存储模型效劳。
➢ DB2驱动:IBM Driver For JDBC、IBM Driver For ODBC
ChinaSoft International 中软国际
第二章 DB2入门
➢ DB2 产品安装:可以多个副本并存,如DB2 V8 和DB2 V9两
without prompting
❖ 联机数据库备份,可以备份整个数据库或者单个表空间。

backup db sample tablespace (userspace1) online to /dev/rmt0
ቤተ መጻሕፍቲ ባይዱwithout prompting

要执行联机备份,确保数据库参数 logretain = on 或 设置了
ChinaSoft International 中软国际
第一章 产品概述
➢ DB2能力:DB2 具有存储各种类型电子化信息的能力。其中包 括传统的关系型数据,包括使用XML格式编码的数据以及构造 化和非构造化的二进制信息,比方用多种语言记录的文档和文 本信息、图形、图像、多媒体信息等等。
➢ DB2 运行:DB2数据库效劳器可以在多种操作系统平台上运行 ,如Windows、Linux(可以在所有的IBM硬件系统下运行)、 HP-UX等等以及一些基于J2ME平台的系统。

DB2-培训内容

DB2-培训内容

2024/9/22
8
DB2 旳总体构造
2024/9/22
9
DB2 旳总体构造
DB2 Environment
DB2 Instance
DB2 DataBase
DB2 DataBase
DB2 Instance
DB2 DataBase
DB2 Environment (db2set)
DB2 Instance (db2i…)
DB2 培训内容纲要
DB2简介
DB2 产品简介 DB2 旳总体构造 DB2 连接
DB2 SQL
数据库对象操作(DDL+) 数据操作(DML) 高级SQL
DB2 管理
数据存储 系统维护 监控和优化
附录
2024/9/22
1
DB2 产品简介
2024/9/22
2
DB2 产品简介
2024/9/22
2024/9/22
19
DB2 SQL
RETRIEVING DATA(查询)
Retrieving the Entire Table Projecting Columns from a Table Changing the Order of the Columns Restricting Rows from a Table Limiting Result Table Size Selecting Columns from Multiple Tables Using Correlation Names DB2 Functions(Row、Column) Subquery(子查询)
DB2 DataBase(db)
2024/9/22
10
DB2 连接
2024/9/22

db2数据库基础知识

db2数据库基础知识

db2数据库基础知识1,db2数据库特点(1)具有很好的并⾏性(DB2把数据库管理扩充到了并⾏的,多节点的环境;数据库分区是数据库的⼀部分,包含⾃⼰的数据,索引,配置⽂件和事务⽇志;数据库分区有时被称为节点)。

(2)获得最⾼认证级别的ISO标准认证。

(3)性能较⾼,适⽤于数据仓库和在线事物处理。

(4)跨平台,多层结构,⽀持ODBC,JDBC等客户。

(5)操作简单,同时提供GUI和命令⾏,在windowsNT和unix下的操作相同。

(6)在巨型企业得到⼴泛的运⽤,向下兼容性好,风险⼩。

(7)能够在所有主流平台上运⾏,最适于海量数据处理。

2,db2数据库的特性(1)完全Web使能的:可以利⽤HTTP来发送询问给服务器。

(2)⾼度可缩放和可靠:⾼负荷时可利⽤多处理器和⼤内存,可以跨服务器地分布数据库和数据负荷;能够以最⼩的数据丢失快速地恢复,提供多种备份策略。

3,实现储存过程存储过程是存储在数据库中的⼀个预编译对象。

这意味着过程是预编译的,可提供给各种应⽤执⾏。

发送查询到服务器、分析和编译过程再不需要花费时间。

(1)特点:存储过程是SQL语句和控制流语句的⼀个集合或批量,它在⼀个名称下存储,按独⽴单元⽅式执⾏。

它能帮助提⾼查询的性能。

(2)好处:提⾼性能(应⽤不必重复地编译此过程)减轻⽹络拥塞(为进⾏处理,应⽤不需要向服务器提交多个SQL语句)⼀致性较好(由于过程作为单⼀控制点,在过程中定义的编码逻辑和SQL语句在所有应⽤中被⼀致地实现)改善安全机制(⽤户可以被授予许可权来执⾏存储过程,尽管他们并不拥有这个过程)(3)执⾏存储过程语句:call proc_name(param,…)(4)RETURN关键字:允许存储过程把整型值返回给调⽤者。

如果没有指定值,那么存储过程返回缺省值0或1,这依赖于存储过程的成功执⾏与否。

RETURN value(5)嵌套过程:可以执⾏或调⽤来⾃另⼀个过程的过程。

4,触发器触发器:⼀个触发器是由SQL语句集组成的代码块,在响应某些动作时激活该语句集。

DB2基础知识60页PPT

DB2基础知识60页PPT

InInddexexSSppacaece IndexSpace
■ TABLESPACE
存放一个或多个TABLE内容的一个或多个DATA SET,对应具体的 VSAM文件,指定DATABASE和STORAGE GROUP,TS由大小相同 的PAGE组成,缺省值为4K
TABLESPACE
TaTbalbele Table
当一个table被drop后,它 之前所占的空间会立即释 放
Segmented Tablespace
■ Patitioned TableSpace
一个Partitioned Table
Space只包含一个表
page page
(partitioned table)
根据INDEX的范围将表 的存储空间划分成几个
DATABASE : 逻辑数据库定义
TABLESPACES : 定义数据库表的物理存放
STORAGE GROUP : 定义物理卷空间分配
TABLE :
关系数据库的基本表
INDEX :
建立在TABLE上的索引
VIEW :
视图,建立在TABLELeabharlann 的虚表■ DataBase
一系列DB2数据库的组织和结构称为DATABASE;是tables 和相关indexes的最终集合,也是用于存放所有
TABLESPACE,INDEX SPACE的区间名称
DATABASE
TABLESPACE
INDEXSPACE
TABLE
INDEX
■ STOGROUP
STORAGE GROUP
一组VOLUME的集合, 在定义TABLESPACE和 INDEXSPACE时指定
STOGROUP

DB2开发培训

DB2开发培训

整理ppt
8
➢ 流程控制介绍
CASE statement IF statement LOOP statement WHILE statement GOTO statement ITERATE statement FOR statement
(详见备注)
二、数据库开发
整理ppt
9
二、数据库开发
➢ 游标介绍
2)用户自定义的存储过程通过CREATE PROCEDURE语句被注册到DB2数据 库的SYSCAT.ROUTINES表
整理ppt
6
二、数据库开发
➢ 存储过程实例
CREATE PROCEDURE ODS.PROC1 ( IN v_p1 INT, INOUT v_p2 INT, OUT v_p3 INT)
P1: BEGIN SET v_p2 = v_p2 + v_p1; SET v_p3 = v_p1;
END P1 输入输出参数说明:
in:输入参数 out:表示输出参数,即显示结果 in out:就是输入输出参数,运行前输入,运行后输出
整理ppt
7
二、数据库开发
➢ 存储过程变量
DECLARE var_name <data type> [ DEFAULT value]; SET <var_name> = <new_value>;
定义方式二: DECLARE GLOBAL TEMPORARY TABLE session.emp AS
( SELECT * FROM staff WHERE <condition> ) DEFINITION ONLY WITH REPLACE;
整理ppt
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Action 可以为 GO TO :Lable 或者是 CONTINUE.
17 2020/4/30
Coding Aids
DSNTIAR/DANTIR
SQL错误返回代码解释例程,在应用程序中调 用该例程以获得系统标准的错误解释。
CALL DSNTIAR
DCLGEN
根据DB2中的Table定义将表的定义描述生成 到指定的数据集中。
DATABASE : 逻辑数据库定义
TABLESPACES : 定义数据库表的物理存放
STORAGE GROUP : 定义物理卷空间分配
TABLE :
关系数据库的基本表
INDEX :
建立在TABLE上的索引
VIEW :
视图,建立在TABLE上的虚表
4 2020/4/30
TABLE/TABLE SPACES
应用程序调用 DB2 时使用的系统通讯 区,其中的返回代码域可以用来判断 SQL调用是否成功。常用的返回代码域 有: SQLCODE(INTEGER) –调用执行返回代 码(000-成功;<0-调用失败,例如:-530 New foreign key value is invalid ; >0-调用 警告,例如:+100 Row not found); SQLSTATE –调用返回代码详细说明。
INDEX1
INDEX2.etc.
VIEW1
VIEW2
VIEW3.etc
STORAGE GROUP1 VOLUME1 VOLUME2
STORAGE GROUP2 VOLUME3
3 2020/4/30
DB2 Objects 概述
CATALOG : DB系统定义信息
DIRECTORY : DB系统管理信息
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
MERGECOPY TABLESPACE NASEDB.NSPATEL COPYDDN(SYSCOPY1)
NEWCOPY YES
20 2020/4/30
在DB2的中,PAGE是最小的存储单元, 也是I/O的基本单位,大小为4K或32K;
TABLE中的一行(ROW)必须存放在 单个PAGE中,一个PAGE中可以存放多 个行(必须是同一个TABLE);
在资源管理中,Tablespaces, table, 或 page 都可以作为资源锁的单元;
5 2020/4/30
IMS Attach
2 2020/4/30
DB2 Object
DB2 SUBSYSTEM
CATALOG DIRECTORY OTHER SYSTEM OBJECTS
DATABASE 1 TABLE SPACES1
DATABASE2.etc. TABLE SPACES2
TABLE1
TABLE2. etc.
19 2020/4/30
DB2 online utility –MERGECOPY
MERGECOPY -建立(或合并)数据的完全拷贝(full image copies )或增量拷贝(incremental image copies);
//STEP1 EXEC DSNUPROC,PARM=‘FJDB,CPY1',COND=(4,LT),REGION=0M
//
UNIT=3390,VOL=SER=NGDAT1,SPACE=(CYL,(1,1))
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
COPY TABLESPACE NASEDB.NSPATEL COPYDDN SYSCOPY1
FULL NO SHRLEVEL REFERENCE
主机变量(Host variables)
嵌入式语言中定义的变量,在SQL语句中可以使用,如 下例: EXEC SQL UPDATE TMPTABLE SET Salary = Salary * :PERCENT WHERE Jobcode = :JCODE END-EXEC. 使用时在变量前必须使用冒号(:)来标示主机变量。
6 2020/4/30
DB2 数据库的基本建立过程
建立存储组 ( Storage Group); 建立逻辑数据库 (DataBase); 定义表空间 (Tablespace); 建立表 (Table); 在表的基础上建立索引 (Index) ; 装载、处理数据 (LOAD/INSERT);
➢ UPDATE
SELECT
➢ DELETE
INSERT
DCL(Data Control Language):资源控制管理
➢ GRANT
REVOKE
8 2020/4/30
SQL 程序的预编译
DB2 的预编译(Pre-compile):
- 将SQL语句与非SQL语句分离; - 建立数据库访问模块(DBRM); - 检测语法错误;
使用“游标”(Cursors)来完成对记录 的处理。使用的语句包括:
DECLARE -声明一个游标
OPEN
-打开游标
FETCH
-读取游标中的一条记录
CLOSE CURSOR -关闭游标
14 2020/4/30
游标(CURSOR)使用例程
DEFINE A CURSOR
----- Definition
//
REGION=6500K,CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//STEP1 EXEC DSNUPROC,PARM='FJDB,COPY',COND=(4,LT),REGION=1024K
//DSNTRACE DD SYSOUT=*
//SYSCOPY1 DD DSN=DBA1.IMAGCOPY.INC1.NSPATEL, DISP=(NEW,CATLG),
EXEC SQL
DECLARE K9 CURSOR FOR
SELECT EMPNO,LASTNAME
FROM TEMP1
WHERE DEPNO = :DPT
END-EXEC.
OPEN the CURSOR
---- Execution
EXEC SQL OPEN K9 END-EXEC.
FETCH RESULT ROWS ONE AT A TIME
EXEC SQL FETCH K9 INTO :EMPNO,:NAME END-EXEC.
CLOSE CURSOR when finished
EXEC SQL CLOSE K9 END-EXEC.
注意:游标操作在open时才对数据库中的table进行选择处 理。
15 2020/4/30
SQLCA-SQL Communication Area
//DSNTRACE DD SYSOUT=*
//SYSCOPY1 DD DSN=NASE.MERGCOPY.NSPATEL.NO3,
//
DISP=(NEW,CATLG),
//
UNIT=3390,SPACE=(TRK,(3,1)),
//
VOL=SER=DB2VOL
//SYSPRINT DD SYSOUT=*
DB2/OS390
➢DB2 系统介绍 ➢DB2 编程 ➢DB2 的常用UTILITY
1 2020/4/30
DB2 系统架构示意
在OS/390系统中,DB2作为独立的数据库 应用系统,通过与其他应用间的接口 (ATTCHMENT)进行数据交换。
CICS Attach
DB2
TSO
Attach
OS/390
VALIDATE(BIND) ISOLATION(CS) EXPLAIN(YES) QUALIFIER(NASE001) OWNER(IBMUSER)
END
11 2020/4/30
DB2 的 SQL 编程
基本 SQL 语句:
SELECT
SELECT16 2020/4/30
Coding Aids
Whenever statement
用来处理可能出现的例外状况,在程序中一 旦定义全程使用。
EXEC SQL WHENEVER condition action END-EXEC.
Condition 包括: SQLERROR– SQLCODE 小于零; SQLWARNING – SQLCODE 大于零; NOT FOUND – SQLCODE = 100;
Source Program ..
EXEC SQL …
Language Interface
DB2 Pre-Compile
Source
DBRM SQL
STMNTS
DB2 CATALOG Table/Column Description Authorization SYSDBRM
Compile and Linkedit
Bind:
– 使用数据库的catalog信息 , 检测错误(资源 的授权、DB2的关系数据库规则);
– 对每一个SQL语句采取相应的调用策略(资 源锁、索引的使用);
– 将访问策略存储为plan(或是一个package); – Plan 由集成的一系列DBRMs组成。
9 2020/4/30
应用程序的编译以及运行过程
10 2020/4/30
BIND PACKAGE
//PH02CS04 EXEC PGM=IKJEFT01,DYNAMNBR=20,COND=(4,LT) //DBRMLIB DD DSN=VGUSR.MVSCICS.DBRMLIB,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //REPORT DD SYSOUT=* //SYSIN DD DUMMY //SYSTSIN DD * DSN SYSTEM(DSN1) BIND PACKAGE(NASE001) MEMBER(NAH2020) ACT(REP) -
相关文档
最新文档