《DB入门培训讲义(共49张).pptx》由会员分享,可在线阅读,更多相关《DB入门培训讲义(共49张).pptx(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、认识认识 2认识 DB2DB2的版本 DB2 UDBl V7、V8、V9l ( )l ( )l ( - )l其他 主机平台如400上的2与2 有很大不同,老版本的主机2甚至不支持。DB2在招行的应用情况l 400 2l 6000 V5 V7 V8 V9l 数据仓库l 开发用:2 V8 2KDB2 UDB vs SQL Server /Sybasel 是个黑盒子l 2 是个相对透明的黑盒子l 2 所支持的语句更完整l 2 对数据仓库所做的扩展支持非常好,如多分区,技术等。l 2 具有平台优势和体系优势,对高端应用有更好的支持。DB2 UDB的Create Table语句SQL Server 的C
2、reate Table . | . ( | | ) | | l 下的安装、使用l 仅安装客户端 2 l 安装服务器端 2 + 2 l 6000下的安装、使用l 如6000上已安装2,则只要在登录用户的中引用21的或手工添加相应环境变量,即可使用2,前提是已授权此用户足够权限。DB2安装、使用相关的下载及文档:l 配置助手 l 控制中心l 命令行工具 l 命令窗口、命令行处理器l 信息中心l 开发中心l 健康中心使用 DB2工具 - windowsn 实例实例 n 数据库数据库 n 容器容器 n 表空间表空间 n 扩展区扩展区 n 表表 n 页页 nDB2 UDB中一些基本概念n n 存储过程存
3、储过程 n 触发器触发器n 事务处理事务处理n 索引索引nDB2 UDB中的标准SQL设施n 模式是一个标识符,如用户 , 它帮助分组表和其他数据库对象。模式可以归个人拥有,拥有者可以控制对数据以及其中的对象的存取。 模式也可以是数据库中的对象。它可以在创建模式中的第一个对象时 自动创建。这样的对象可以是任何可以由模式名限定的对象,如表、索引、视图、程序包、单值类型、函数或触发器。若要自动创建模式,则您必须 拥有 权限,也可以隐式地创建模式。 模式名用作两部分对象名的第一部分。创建一个对象时,可将其分配给 特定模式。若不指定模式,则它被分配给缺省模式,缺省模式通常是创建该对象的人员的用户 。名
4、称的第二部分是对象名。例如,名为 的用户可以 有一个名为 的表。n 简单的比喻:假如等同于公司,模式相当一个部门名称。nDB2 数据库中的模式名 - SCHEMADB2 专用存储器n n n n n n n 相当于相当于 中的全局变量中的全局变量nn 常用的常用的 2 2 指令指令n / / n / / n n / / n / / / / n / / n / / n n 常用的常用的 2 2 系统指令系统指令n 2 2n 2 2n 2 2n 2 / 2 2 / 2n 2 / 2 2 / 2n 2 / 2 2 / 2n 数据库分区与表空间数据库分区与表空间数据库分区与表空间l 数据库分区l 一个
5、数据库可以建立一个或多个分区(即节点),数据可以根据表所定义的分区键通过算法存放于各个分区中。l作为表格的分区键,建议使用高基数字段(拥有多个不同的值),这样可以使数据被均匀的分布,可以利用节点组中所有的节点资源来执行操作。也可以指定多个字段同时作为分区键来满足要求。二、数据库分区与表空间l 表空间的定义l2是以表空间来定义数据库中存放数据的实体磁盘空间。l一个数据库中至少需要具备3个表空间,分别是:l: 存放数据库中的所有系统表l1:存放2在执行指令时所产生的临时数据表l1:存放用户所建立的表二、数据库分区与表空间l 表空间的分类l根据存储的数据种类区分l 规则表空间:存放系统表格过用户建立
6、的表格的数据与索引。l 临时表空间:存放在执行指令时产生的临时数据。l 大型表空间:存放 与类型的字段数据。l根据管理方式区分l 数据库管理空间:,是由2直接格式化与管理的空间l 系统管理空间:,是由2通过操作系统所管理的空间二、数据库分区与表空间数据库中的对象数据库中的对象三、数据库中的对象l 对象名称:l2 的所有对象,都有其对象名称,2 会将他全部转成大写,但如果把对象名称用双引号括起来,则就区分大小写。带引号的对象名称也可以包含的保留字,但并不提倡。三、数据库中的对象l 表格l 注意指定表空间和分区键l 可增加字段,新增或删除限制l 可更改类型的长度l 可用定义同样的一张表,但除了字段
7、类型和默认值外其他属性不继承l 索引l 视图l 只读视图/可更新视图l 别名数据库中的对象l 限制l l l l l l l 触发器l 前触发器 / 后触发器l 实例化查询表():l l 三、数据库中的对象数据的锁数据的锁四、数据的锁l 指令l 2 l 2 l 锁定的对象l 数据库 / 表空间 / 表格 / 记录l 锁定的模式(强度)l 写锁定,包括 X、W、Z 等l 读锁定,包括 S、U 等四、数据的锁l 锁定等待l l 锁定超时l l 锁定升级l :定义数据库中预留多少空间存放锁定信息l :定义每个事务可以使用多少内存区四、数据的锁数据库系统效能数据库系统效能五、数据库系统效能l 2 工具
8、l 2l 执行该语句可以查看中的指令执行计划。这是从或是窗口执行的指令,如下:l 2 l l 显示指令的执行计划,如:l “指令” l 文件 l l 从控制中心或命令行中心执行的 l 五、数据库系统效能l 几张关键的系统表l l l l l l l 索引l 建立索引的方法l 条件的索引的顺序l 索引的副作用五、数据库系统效能五、数据库系统效能l (物化视图)l l l l l 1 l( , , 1 a, 2l = l 20000l) ;l 1 ;l程序包与l嵌入式2客户端程序开发实际应用实际应用六、实际应用l 存储过程l l l 参数l 调用 l 错误陷阱l 循环语句l 六、实际应用l存储过程
9、lC存储过程/函数l存储过程l其他:、存储过程 l l:通过一个C函数写成的向调试文件写日志存储过程的调试方法 SQL存储过程的调试 1. ,2.为什么要有 ?3.固定写法:4. (5) 00000;5. 0;6. 必须要这么写才能得到 执行情况,且只能写在存储过程的开头( )7. 为什么? 主机风格8. 9. 4277410. 11. 12. SQL存储过程的异常处理方法 Condition Handlingl ( , )l l l 2允许定义同名但参数不同的存储过程,因此在删除存储过程时使用删除。l 假如调用存储过程的参数错误,2只说找不到对应的存储过程,而不会说参数错误。l 这一点类似面
10、向对象的参数重载。l l l DB2 SQL存储过程的specific specific-namel 静态l 静态 ( ) 语句嵌入到应用程序中,在应用运行之前,所有的嵌入静态语句必须经过预编译并被绑定到程序包() 中。l 2编译这些语句时,将基于编译和绑定这些语句时的系统表中的统计信息和数据库参数为每一个静态语句生成一个访问计划( )。l 这些访问计划在运行时永远被使用;这些访问计划不会改变,除非程序包被重新绑定。l , (), () d e ( = ) = ;六、实际应用l 动态l 动态 ( ) 语句在程序运行时被和执行。l 2运行动态语句时,将基于当前的系统表中的统计信息和数据库参数为该
11、语句生成一个访问计划( )。l 该访问计划在运行时可能会不断变化。l = “ , ?”;l s1 ; s1;六、实际应用六、实际应用l l 对目标表进行更新插入的过程,当存在满足条件的记录时就更新目标表,当不存在满足条件的记录时就向目标表插入新记录。l a l ( , () l ) t l = l l l = + l l (, ) = (, );六、实际应用l 权限设置l 过程/函数l ;l 表l ;l ;l 系统权限查看表l , , l DB2 UDB的数据类型DB2 UDB的数据类型l日期运算:如何求出每月末的日期?DB2 UDB的数据类型l日期运算:l (2006-01-31)+1 )l (2006-01-31)+1 )l数值运算l 的小数位l值l 任何有参与的表达式,结果都是l 特别注意打印中间结果或调试语句时l 存储过程-临时表的使用l必须要先定义系统临时表空间或用户临时表空间才能使用临时表l定义临时表不能使用模式名,其模式名固定为。l使用完成后最好把临时表掉。Get diagnostics 使用说明l 取到语句所影响的行数的方式?()l2取到语句所影响的行数的方式 l ;l 完整的存储完整的存储过程实例讲解过程实例讲解Question ?演讲完毕,谢谢观看!