DB2培训文档.pptx
DB2培训文档
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
定位删除:
语法:delete from [table name|view name] where current of <cursor-name>
create procedure cleanup_act ( in p_date date , out p_deleted int ) language sql specific cleanup_act -- applies to luw and iseries ca: begin declare v_date date; declare sqlstate char(5); declare c_emp cursor for -- (1) select emendate from emp_act for update; open c_emp; fetch from c_emp into v_date; set p_deleted = 0; while ( sqlstate = '00000' ) do if ( v_date < p_date ) then delete from emp_act where current of c_emp; -- (2) set p_deleted = p_deleted + 1; end if; fetch from c_emp into v_date; end while; close c_emp; end ca
db2基础培训[1]
分区数据库home目录
•一个实例映射到一个操作系统用户,拥有自己的主目录。 •每台分区的机器上单独创建的所有实例都必须使用相同的名称 和口令 •所有实例的主目录必须是相同的目录,这个目录必须在一个共享磁盘(NFS 共享)上创建 •DB2实例属主机器
db2基础培训[1]
数据库分区
存放在文件 default.env 中,该文件位于 /var 下的一个子目录中。对于每台机器,都存在该文件的一
个不同的本地副本。
/var/db2/v81/default.env
db2set –all :
[g]
•实例级概要注册表-分区共享
db2set –all :
[I]
db2set –lr
db2set DB2COMM=tcpip
对象管理 空间分配 管理方便 程度 使用限制
容器类型
性能
SMS
.操作系统 .需要时动态增长 .很少需要人工管理 .容器大小随文件系统增加 .数据和索引必须在同一表空间 .容器不能增加 .只有一种容器:目录
.动态扩展,略差于DMS
DMS
.数据库
.预分配
.需要人工指定一些参数,例如定义容器大小等 .可通过增加容器建立大容量的表空间
db2基础培训[1]
ACTIVE - Contains information for non-committed or non-externalized transactions
14
15
16
数据迁移工具
• EXPORT-将表中数据导出成文件 • IMPORT-将文件中数据导入表 • LOAD-将文件中数据导入表 • DB2MOVE-数据库迁移 • DB2LOOK-导出数据库对象
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数据迁移培训教材PPT(31张)
数据导出导入
(2)数据Import导入: Replace_Create 执行: db2 import from c:\test1.ixf of ixf replace_create into test2
• 执行结果: 表Test2原有数 据被删除,插入表 Test1数据。
数据导出导入
数据导出导入 表不存在,执行Create。
db2move 工具
• Export,Import和 Load每次都只对一个表 进行操作。但是您若使用它们来写一段脚 本,就可对一个数据库中的所有的表进行 操作。 db2move可以更方便地完成同样的 工作。
• db2move工具只兼容IXF格式的文件。 • db2move不可以通过控制中心来调用。
导入(LOAD)工具
• Load不能创建表及索引,故不能使用Create方式 。
• 主要方式:
导入(LOAD)工具
例: C:\>db2 connect to sample C:\>db2 Load from test.del of del REPLACE into test1
例: C:\>db2 Create table test2 like act C:\>db2 Load from C:\test.del of del INSERT into test2
(3)数据Import导入: Replace_Create 执行 db2 import from c:\test1.ixf of ixf replace_create into test3
Import工具建立了表Test3,并插入导入 数据。
Replace_Create: 表存在,执行Replace;
DB2存储结构编目与数据库创建精品PPT课件
个已知数据库的地方,节点目录包含信息 之处如何以及在哪里能够找到远程系统或 实例
数据库编目
▪ 客户机上对数据库进行编目 使用发现的自动配置 使用访问配置文件的自动配置 手工配置
创建和操作数据库
▪ 手动设置存储配置
创建和操作数据库
▪ 设置用户表,系统编目表,系统临时表空间 容器
创建和操作数据库
▪ 文件:日志文件,配置信息,历史文件 默认表空间:
▪ 系统编目表:索引,表,视图,包的元数 据
▪ 系统临时表:用于记录排序,重组表,创 建索引等事务的中间结果
▪ 用户表空间:用户对象
为更好满足学习和使用需求,课件在下载后 可以自由编辑,请根据实际情况进行调整
In order to better meet the needs of learning and using, the courseware is freely edited after downloading
DB2 control center
DB2 Control Center
▪ 菜单栏:用来访问 Control Center 功能和在线帮助。 ▪ 工具栏:用来访问其他管理工具。 ▪ Objects 面板:显示在 Control Center 窗口的左边。它包
含可以从 Control Center 进行管理的所有对象以及它们 之间的关系。 ▪ Contents 面板:这显示在 Control Center 窗口的右边, 其中包含属于或对应于 Objects 面板中选择的对象的对 象。 ▪ Contents 面板工具栏:这些图标用来调整 Contents 面 板中对象和信息的视图。还可以在 View 菜单中选择这些 功能。 ▪ Details 面板:Details 面板显示关于选择的对象的详细信 息。
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数据库基础
面向成功
开放交流
协作创新
价值提升
SQL介绍—SQL基础—delete delete
删除表中符合条件的记录
语法:DELETE FROM 表名称 where …;
面向成功
开放交流
协作创新
价值提升
SQL介绍—SQL基础—select select
查询表中符合条件的记录
语法:SELECT 字段1,… FROM 表名称 where …;
连表查询
內连接 join,inner join select a.*,b.* from a join b on a.字段1=b.字段1 where … 结果:a表、b表中都存在的记录。 外连接 左外连 left join ,left outer join select a.*,b.* from a left outer join b on a.字段=b.字段 结果:a表记录都保留 右外联 right join ,right outer join select a.*,b.* from a right outer join b on a.字段=b.字段 结果:b表记录都保留 面向成功 开放交流 协作创新 价值提升
随需应变
快速构建
卓越品质
成就你我
2013中创软件新员工培训
DB2数据库基础
中创软件
2013年7月
培训提纲
一、DB2 数据库的构成
二、SQL介绍 三、DB2的安装 四、操作练习
面向成功
开放交流
协作创新
价值提升
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
《db2基础操作手册》PPT课件
Y
Pred1和Pred2都是可索引的,指相同索引的列
N
除了(c1=a or c1=b)外,他可以被认为是c1 in(a,b)
Not Pred1
N
或者任何的等价形式:Not between,Not in,Not like等等。
28
29 数据约束
数据库中数据的完整性或有效性极其重要。确保插入数据库的数据的有效性非常困难 ,DB2 提供了定义某些可并入数据库的基于规则的约束或检查的能力。在 DB2 中,可 使用以下检查来最小化将错误数据插入表中的风险:
设置 Db2 update dbm cfg using param value Db2 update db cfg for db_name using param value
11
12 连接到数据库
服务器端配置
设置db2 profile registry的参数DB2COMM,如: Db2set db2comm=tcpip
null],..)
• 根据已有的表创建新表:
A:create table tab_new like tab_old B:create table tab_new as select col1,col2… from tab_old definition only
24
25
表空间
三种表空间
常规表空间 长表空间 临时表空间
8
9 Db2 profile registries
可以设置不同的级别
Instance/global/user/
instance node/instance profile
使用db2set命令,可以显示,修改,删除
db2set –all显示所有设置的
DB2培训[1]
PPT文档演模板
2020/10/30
DB2培训[1]
DB2 逻辑组成图
PPT文档演模板
DB2培训[1]
DB2 数据库由一组对象组成
包含许多下面列出的物理和逻辑对象:
– 表、视图、索引和模式 – 锁、触发器、存储过程和包 – 缓冲池、日志文件和表空间
在以上对象中,有些(如表或视图)帮助确定数据是如何组 织的。
支持许多内置数据类型,也支持用户定义的数据类型
– 常量:常量指定一个值。
PPT文档演模板
DB2培训[1]
– 函数:函数是一组输入数据值和一组结果值之间的关系。数
据库函数可以是内置的,也可以是用户定义的。
– 表达式:表达式指定一个值。字符串表达式、算术表达式和
条件表达式都可以用于根据对一个或多个条件的求值指定一 个特定结果。
名称包括模式名 SMITH 以使其同其它任何在系统目 录中被命名为 STAFF 的表区分开来。 模式本身就是一个数据库对象。可以使用 CREATE SCHEMA 语句显式创建模式;也可以在创建另一个对 象时隐式创建模式。
模式有与之相关联的特权。这允许模式所有者可以控制 哪些用户有特权在模式中创建、修改和删除对象。
当成功调用 CREATE PROCEDURE (SQL) 语句(该语 句用应用程序服务器定义 SQL 过程)时,就创建了一 个 SQL 过程。SQL 过程是定义那些每当需要时就可 以调用的更复杂的查询或任务的一种便捷方式。以下 步骤将创建一个命令行处理器(command-line processor,CLP)脚本(名为 createSQLproc.db2), 该脚本将创建一个简单的 SQL 过程:
使用 WHERE 子句指定若干选择条件或搜索条件来在表
DB2入门培训讲义(ppt 48页)
– 命令窗口、命令行处理器 信息中心 开发中心 健康中心
DB2 UDB中一些基本概念
实例 Instance
数据库 Database
容器 Container
表空间 Tablespace
扩展区 Extend
表
Table
页
Page
DB2安装、使用
Windows 下的安装、使用
仅安装客户端 DB2 Connect 安装服务器端 DB2 PE Server + DB2 Connect
RS/6000下的安装、使用
如RS/6000上已安装DB2,则只要在登录用户的profile中引用db2inst1的 profile或手工添加相应环境变量,即可使用DB2,前提是DBA已授权此用户 足够权限。
DB2 UDB的Create Table语句
SQL Server 的Create Table
CREATE TABLE [
database_name.[owner]. | owner. ] table_name ( { <column_definition>
| column_name AS computed_column_expression | <table_constraint> } [,...n] ) [ON {filegroup | DEFAULT} ] [TEXTIMAGE_ON {filegroup | DEFAULT} ]
模式名用作两部分对象名的第一部分。创建一个对象时,可将其分配给 特定模式。若不指定模式,则它被分配给缺省模式,缺省模式通常是创 建该对象的人员的用户 ID。名称的第二部分是对象名。例如,名为 Smith 的用户可以 有一个名为 SMITH.PAYROLL 的表。
DB2基础培训ppt课件
.
创建DMS示例
WINDOWS:
CREATE TABLESPACE sms MANAGED BY DATABASE USING (FILE 'C:\DMS\DATA.1' 1000,DEVICE ‘\\.\F:' 3000) EXTENTSIZE 16 PREFETCHSIZE 32
定义容器
表示创建数据库管理表空间
管理方便程度
性能
Yes
操作系统
SMS
需要时动态增长
管理方便 .很少需要人工管理 . 容器大小可随文件系统增大
很好
DMS
Yes
DB2
预分配
较好 . 需要人工指定一些参数(e.g.. EXTENTSIZE PREFETCHSIZE) . 可通过增加容器建立大容量的表空间
最优 . 采用裸设备容器性能可提升5-10% .单表中的索引,数据,大对象可跨表 空间存放
14
ONLINE ARCHIVE Contains information for committed and externalized transactions. Stored in the ACTIVE
log subdirect.ory.
15
16
UDB数据存取方法
SQL语言和UDB内置的API
.
数据库管理表空间(DMS)特性
在创建时分配空间 容器可增加(数据分配自动重新平衡) 容器大小可修改 数据分配自动重新平衡 空间大小只限于物理存储特性 文件容器使用文件系统的IO 裸设备使用直接操作硬件,不通过文件系统 很高的性能 (特别对于 OLTP系统) 数据分配灵活
.
SMS与DMS对比
RAD Striping 对象管理 空间分配
《DB2参考资料》第01章 DB2入门
§1.5 DB2管理服务器(DAS)
monitor :监听、监视、监控
§1.6 DB2工具
§1.6 DB2工具
第一步
创建和使用样本数据库
命令中心
执行DB2命令,编写脚本
命令行处理器
命令窗口
控制中心
集中管理数据库及数据库对象
任务中心
日志中心
配置助手
连接远程DB2服务器
健康中心
数据库监视
第一步 “第一步”为用户介绍了可以使用DB2数据库系统来执 行的一些主要数据库功能。
个人版(DB2 Personal Edition) · 个人单机使用,提供功能完整的数据库 · 提供了数据库存储设施并能够连接到远程DB2服务器,但不能响
应 远程请求
EveryPlace · 专为移动办公用户设计的微型数据库系统 · 用于PDA,HPC和嵌入式设备
1.3 DB2的安装
启动安装过程后,进入安装产品界面。单击界面左边的【安装产品】 选项后,再单击界面右边的【安装新产品】按钮,启动安装向导界面。
§1.6 GUI和CLP - 控制中心
·Add / Delete DB2 System ·Configure Instance and Database ·Manage Database Objects ·Manage Database Data ·Perform Database Backup and Restore ·Manage Database Connection ·Manage Database Replication ·……
命D命b令2令=行>处行! C理o器m处m(anC理domm器and(LineCProoc执mess行mor系a,统nCL命dP)令L允i许n用e户输P入r和o执c行eSsQsL命o令r、,XQCueLry命P令)、D允B2命许令和用操作户系统命令。
《DB2数据库指南》幻灯片
第五章 数据库对象
➢ 表空间:是数据库以及存储在该数据库表之间的逻辑层。表空 间在数据库中创立,表在表空间中创立。默认创立在 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平台的系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
© 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公司
IBM 软件部 | DB2 信息管理软件
CREATE PROCEDURE get_emp_name ( IN p_empno CHAR(6) , out p_fname VARCHAR(10) )
LANGUAGE SQL SPECIFIC get_emp_name gen: BEGIN -- Declare variables DECLARE v_return_code INT DEFAULT 99;
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
简单的存储过程嵌套的例子
被调用的过程:统计每个雇员所完成的项目 CREATE PROCEDURE count_projects ( IN p_empno CHAR(6)
, out p_total INT ) LANGUAGE SQL SPECIFIC count_projects
IBM软件部
嵌套存储过程
陆川 luchuan@ 021-63262288-2720
© 2007 IBM 公司
IBM 软件部 | DB2 信息管理软件
你将了解下列内容:
✓什么是嵌套存储过程 ✓如何在嵌套存储过程间传递参数 ✓从嵌套存储过程中返回值 ✓从嵌套存储过程中返回和接收结果集 ✓如何递归调用存储过程 ✓过程调用的安全性考虑
-- Declare condition handlers DECLARE CONTINUE HANDLER FOR NOT FOUND
SET v_return_code = 1000;
-- Procedure logic SELECT firstnme INTO p_fname FROM employee WHERE empno = p_empno;
CREATE PROCEDURE find_emp ( IN p_empno CHAR(6)
, out p_output VARCHAR(50) )
LANGUAGE SQL
SPECIFIC find_emp
fe: BEGIN
-- Declare variables
DECLARE v_rc INT;
DECLARE v_fname VARCHAR(15);
•返回结果集到客户端 下面的过程将返回结果集到客户端,返回的结果集是特定部门下的雇员的 first name、last name和salary。
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
CREATE PROCEDURE to_client ( IN p_dept CHAR(3) ) LANGUAGE SQL SPECIFIC to_client DYNAMIC RESULT SETS 1
cp: BEGIN -- Procedure logic SELECT COUNT(*) INTO p_total FROM emp_act WHERE empno = p_empno;
END cp
© 2006 IBM公司
IBM 软件部 | DB2 信息管理软件
调用者:根据每个雇员完成的项目的情况,决定是否给发奖金 CREATE PROCEDURE bonus ( IN p_empno CHAR(6)
✓从嵌套的过程中取得返回值
除了通过输出参数获得返回值以外,存储过程可以通过return语句返回一个值,下 面的例子演示如何通过get diagnostics语句获得被调用过程的返回值。 下面的过程get_emp_name将基于雇员编号返回雇员的first name,当找到该雇员时返回 99,否则返回1000。
-- Procedure logic
CALL get_emp_name( p_empno, v_fname );
GET DIAGNOSTICS v_rc = RETURN_STATUS;
IF ( v_rc = 99 )
THEN
SET p_output = 'The employee is: ' || v_fname || '.';
, out p_bonus CHAR(1) ) LANGUAGE SQL SPECIFIC bonus bn: BEGIN -- Declare variables DECLARE v_min INT DEFAULT 5; DECLARE v_total INT DEFAULT 0;
-- Procedure logic CALL count_projects(p_empno, v_total);