DB2入门培训讲义ppt课件_第1页
DB2入门培训讲义ppt课件_第2页
DB2入门培训讲义ppt课件_第3页
DB2入门培训讲义ppt课件_第4页
DB2入门培训讲义ppt课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DB2 根本知识引见.认识 DB2认识 DB2.DB2的版本 DB2 UDB V7、V8、V9 PE (Personal Edition) EE (Enterprise Edition) EEE (Enterprise - Extended Edition )其他IBM 主机平台如AS/400上的DB2与DB2 UDB有很大不同,老版本的主机DB2甚至不支持SQL。.DB2在招行的运用情况 AS/400 DB2 RS/6000 UDB V5 V7 V8 V9 数据仓库 开发用:DB2 UDB PE V8 For Windows XP/2K.DB2 UDB vs SQL Server /Syba

2、se SQL Server/Sybase是个黑盒子 DB2 是个相对透明的黑盒子 DB2 所支持的SQL语句更完好 DB2 对数据仓库所做的扩展支持非常好,如多分区,MDC技术等。 DB2 具有平台优势和体系优势,对高端运用有更好的支持。.DB2 UDB的Create Table语句.SQL Server 的Create TableCREATE TABLEdatabase_name.owner.| owner. table_name(| column_name AS computed_column_expression| ,.n)ON filegroup | DEFAULT TEXTIMAGE

3、_ON filegroup | DEFAULT . Windows 下的安装、运用 仅安装客户端 DB2 Connect 安装效力器端 DB2 PE Server + DB2 Connect RS/6000下的安装、运用 如RS/6000上已安装DB2,那么只需在登录用户的profile中援用db2inst1的profile或手工添加相应环境变量,即可运用DB2,前提是DBA已授权此用户足够权限。DB2安装、运用相关的下载及文档URL:www14.software.ibm/webapp/download/search.jsp?q=UDBwww-306.ibm/software/data/db2

4、/udb/edition-ese.html. 配置助手 控制中心 命令行工具 命令窗口、命令行处置器 信息中心 开发中心 安康中心运用 DB2工具 - windows. 实例 Instance 数据库 Database 容器 Container 表空间 Tablespace 扩展区 Extend 表 Table 页 PageDB2 UDB中一些根本概念. View SQL存储过程 触发器 事务处置 索引DB2 UDB中的规范SQL设备.方式是一个标识符,如用户 ID, 它协助分组表和其他数据库对象。方式可以归个人拥有,拥有者可以控制对数据以及其中的对象的存取。 方式也可以是数据库中的对象。它可

5、以在创建方式中的第一个对象时 自动创建。这样的对象可以是任何可以由方式名限定的对象,如表、索引、视图、程序包、单值类型、函数或触发器。假设要自动创建方式,那么您必需 拥有 IMPLICIT_SCHEMA 权限,也可以隐式地创建方式。 方式名用作两部分对象名的第一部分。创建一个对象时,可将其分配给 特定方式。假设不指定方式,那么它被分配给缺省方式,缺省方式通常是创建该对象的人员的用户 ID。称号的第二部分是对象名。例如,名为 Smith 的用户可以 有一个名为 SMITH.PAYROLL 的表。简单的比喻:假设DB等同于公司,方式相当一个部门称号。DB2 数据库中的方式名 - SCHEMA.DB

6、2 公用存储器 CURRENT DATE USER CURRENT TIMESTAMP CURRENT TIME CURRENT TIMEZONE CURRENT SERVER 相当于SQL Server中的全局变量. 常用的 DB2 指令 CREATE / DROP LIST / DESCRIBE FORCE GET / UPDATE IMPORT / EXPORT / LOAD BIND / REBIND REORG / RUNSTATS . 常用的 DB2 系统指令 db2admin db2advi db2batch db2cc / db2cmd db2cfexp / db2cfimp

7、db2start / db2stop .数据库分区与表空间数据库分区与表空间. 数据库分区 一个数据库可以建立一个或多个分区即节点,数据可以根据表所定义的分区键经过HASH算法存放于各个分区中。作为表格的分区键,建议运用高基数字段拥有多个不同的值,这样可以使数据被均匀的分布,可以利用节点组中一切的节点资源来执行操作。也可以指定多个字段同时作为分区键来满足要求。二、数据库分区与表空间. 表空间的定义DB2是以表空间来定义数据库中存放数据的实体磁盘空间。一个数据库中至少需求具备3个表空间,分别是:SYSCATSPACE: 存放数据库中的一切系统表TEMPSPACE1:存放DB2在执行SQL指令时所

8、产生的暂时数据表USERSPACE1:存放用户所建立的表二、数据库分区与表空间. 表空间的分类根据存储的数据种类区分 规那么表空间:存放系统表格过用户建立的表格的数据与索引。 暂时表空间:存放在执行SQL指令时产生的暂时数据。 大型表空间:存放LONG VARCHAR与LOB类型的字段数据。根据管理方式区分 数据库管理空间:DMS,是由DB2直接格式化与管理的空间 系统管理空间:SMS,是由DB2经过操作系统所管理的空间二、数据库分区与表空间.数据库中的对象三、数据库中的对象. 对象称号:DB2 的一切对象,都有其对象称号,DB2 会将他全部转成大写,但假设把对象称号用双引号括起来,那么就区分

9、大小写。带引号的对象称号也可以包含SQL的保管字,但并不提倡。三、数据库中的对象. 表格 留意指定表空间和分区键 可添加字段,新增或删除限制 可更改VARCHAR类型的长度 可用LIKE定义同样的一张表,但除了字段类型和默许值外其他属性不承继 索引 视图只读视图/可更新视图 别名数据库中的对象.限制 NOT NULL Constraints Column Defaults Unique Constraints Check Constraints Primary Key Constraints Foreign Key Constraints 触发器前触发器 / 后触发器 实例化查询表MQT:RE

10、FRESH DEFERRED REFRESH IMMEDIATE三、数据库中的对象.数据的锁四、数据的锁.LOCK TABLE 指令LOCK TABLE DB2.TABLENAME IN SHARE MODELOCK TABLE DB2.TABLENAME IN EXCLUSIVE MODE锁定的对象数据库 / 表空间 / 表格 / 记录锁定的方式强度写锁定,包括 X、W、NW、Z 等读锁定,包括 S、NS、U 等四、数据的锁.锁定等待 LOCK WAIT锁定超时 LOCKTIMEOUT锁定晋级 LOCKLIST:定义数据库中预留多少空间存放锁定信息 MAXLOCKS:定义每个事务可以运用多少

11、LOCKLIST内存区四、数据的锁.数据库系统效能五、数据库系统效能.DB2 Explain 工具 db2expln执行该语句可以查看Package中的SQL指令执行方案。这是从unix或是doc窗口执行的指令,如下:Db2expln -d dbname -c vicky -p cursor -o expln.out dynexpln显示SQL指令的执行方案,如:dynexpln -d sample -s “sql指令-o expln.outDynexpln -d sample -f sql文件 -o expln.out Visual Explain从控制中心或命令行中心执行的explain

12、sql 五、数据库系统效能.几张关键的系统表 SYSCAT.TABLES SYSCAT.COLUMNS SYSCAT.COLDIST SYSCAT.INDEXES SYSCAT.TABLESPACESRUNSTATS 索引 建立索引的方法 where条件的索引的顺序 索引的副作用五、数据库系统效能.五、数据库系统效能REORGMQT物化视图 DATA INITIALLY DEFERRED REFRESH DEFERRED REFRESH IMMEDIATE ENABLE/DISABLE QUERY OPTIMIZATIONCREATE TABLE sch.mqt1 AS( select nam

13、e, location, salary from sch.tab1 a, sch.tab2where a.dept = b.deptnumb and a.salary 20000) DATA INITIALLY DEFERRED REFRESH DEFERRED ;REFRESH TABLE sch.mqt1 ;.程序包与BIND嵌入式SQLCLIJDBCSQLJDB2客户端程序开发.实践运用六、实践运用.SQL存储过程CREATE PROCEDUREDROP PROCEDUREIN/OUT 参数调用 CALL错误圈套循环语句COMMIT WORKBEGIN/END六、实践运用.SQL存储过程

14、C存储过程/函数Java存储过程其他:COBOL、OLE存储过程 .Store Procedure BuilderDW:经过一个C函数写成的Function向调试文件写日志存储过程的调试方法 SQL存储过程的调试 .SQLCODE,SQLSTATE为什么要有Condition Handling?固定写法: Declare SQLSTATE CHAR(5) DEFAULT 00000; Declare SQLCODE INT DEFAULT 0; 必需求这么写才干得到SQL Statement执行情况,且只能写在存储过程的开头(Outermost Scope) 为什么? 主机风格 Conditi

15、on Handling Declare continue handler for sqlstate 42774 begin end SQL存储过程的异常处置方法 Condition Handling.Create procdure xx.xx(in xx, out xx) specific specific-name Language SQL begin xxx end DB2允许定义同名但参数不同的存储过程,因此在删除存储过程时运用specific-name删除。 假设调用存储过程的参数错误,db2只说找不到对应的存储过程,而不会说参数错误。 这一点类似面向对象的参数重载。 DB2 SQL存

16、储过程的specific specific-name.静态SQL静态SQL (static SQL) 语句嵌入到运用程序中,在运用运转之前,一切的嵌入静态SQL语句必需经过预编译并被绑定到程序包(package) 中。DB2编译这些语句时,将基于编译和绑定这些语句时的系统表中的统计信息和数据库参数为每一个静态SQL语句生成一个访问方案(access plan)。这些访问方案在运转时永远被运用;这些访问方案不会改动,除非程序包被重新绑定。EXEC SQL SELECT d.deptname, count(e.empno), avg(e.salary) FROM department d left

17、 outer join employee e on (e.workdept = d.deptno) WHERE e.salary = :salary_baseline OR e.salary IS NULL GROUP BY d.deptname ;六、实践运用.动态SQL动态SQL (dynamic SQL) 语句在程序运转时被prepare和执行。DB2运转动态SQL语句时,将基于当前的系统表中的统计信息和数据库参数为该语句生成一个访问方案(access plan)。该访问方案在运转时能够会不断变化。 stmt = “select empno, salary from employee w

18、here empno=?; EXEC SQL PREPARE s1 FROM :stmt; EXEC SQL EXECUTE s1;六、实践运用.六、实践运用MERGE SQL UPSERT对目的表进展更新插入的过程,当存在满足条件的记录时就更新目的表,当不存在满足条件的记录时就向目的表插入新记录。MERGE INTO account AS a USING (SELECT id, sum(balance) sum_balance from transaction GROUP BY id) AS t ON a.id = t.idWHEN MATCHED THEN UPDATE SET balance = a.balance + t.sum_balanceWHEN NOT MATCHED THEN INSERT (id, balance) = (t.id, t.sum_balance);.六、实践运用权限设置过程/函数GRANT EXECUTE ON PROCEDURE/FUNCTIOIN PROCNAME/FUNCNAME TO USER/GROUP USERNAME/GROUPNAME ;表GRANT ALL/DELETE/UPDATE/SELECT/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论