DB2基础知识(一)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内部资料 注意保密
22
三、DB2数据库对象
数据库 CREATE DATABASE testdb ( 2) DFT_EXTENT_SZ 4 ( 3) CATALOG TABLESPACE MANAGED BY DATABASE USING ( 4) (FILE 'C:\CAT\CATALOG.DAT' 2000, FILE 'D:\CAT\CATALOG.DAT' 2000) ( 5) EXTENTSIZE 8 ( 6) PREFETCHSIZE 16 ( 7) TEMPORARY TABLESPACE MANAGED BY SYSTEM USING ( 8) ('C:\TEMPTS','D:\TEMPTS') ( 9) USER TABLESPACE MANAGED BY DATABASE USING (10) (FILE 'C:\TS\USERTS.DAT' 121) (11) EXTENTSIZE 24 (12) PREFETCHSIZE 48
内部资料 注意保密
31
三、DB2数据库对象
表设计考虑
分区键选择
内部资料 注意保密
32
三、DB2数据库对象
分区键选择
案例: CREATE TABLE TABLE_SAM(…) DISTRIBUTE BY HASH ( ...); 旧语法:partitioning key(…)
内部资料 注意保密
内部资料 注意保密
11
二、DB2的访问
2.1 DB2的登录
通过本地客户端链接DB2服务器
安装本地DB2客户端程序 配置本地Catalog(编目)
Db2cmd->db2 connect to bidbdw user scvadm
catalog tcpip node mynode remote 99.1.57.103 server 50000; catalog db bidbdw at node mynode;
2.4 服务器网络结构
网 络 TCP/IP
DB2服务器
终端服务器
主机m
终端1
终端2
终端n
终 端
内部资料 注意保密
17
二、DB2的访问
2.4 服务器网络结构
内部资料 注意保密
18
三、DB2数据库对象
DB2数据库体系
系统 实例 数据库
数据库对象
表、视图、索引、模式、存储过程、程序包等
引
具备自学的基础
内部资料 注意保密
3
一、DB2概览
1.1 DB2是什么 1.2 DB2的版本
1.3 DB2平台支持
1.4 DB2在招商银行的应用
内部资料 注意保密
4
一、DB2概览
1.1 DB2是什么
IBM公司研制的关系型数据库系统
1969年IMS层次数据库诞生,为IBM第一代数据库也叫DB1。 1983年IBM发布Database2(DB2)for MVS,第二代数据库诞生。
SQL语句执行的状态码; 查询状态码的含义:
db2 “? 42704”
参考:http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/rzala/rzalaco.htm
内部资料 注意保密
16
二、DB2的访问
33
三、DB2数据库对象
视图
视图是什么?
•
视图是从一个或几个基本表导出的表,也可从其他视图导出。
为什么要使用视图?
•
视图允许不同的用户或应用程序以不同的方式查看同一数据。它不仅使数据更易于访问,而且可以利 用它限制某些用户能够查看或更新的行和列。
– – – – –
某一用户可以定义一个或多个视图,同时经授权一个视图也可为多个用户共享, 视图是一个虚表,而基表是一个实表。 虚表只有定义,没有对应的物理数据;而实表既有定义,又有对应的物理数据。 视图一经定义就可和基表一样被查询、被删除,还可用来定义新的视图。 更新(增、删、改)视图的操作有一定限制。
内部资料 注意保密
7
一、DB2基本概述
1.4 DB2在招商银行的应用
应用情况
主机 AS400 信用卡中心新一代390服务器 总行数据仓库核心服务器 分行数据集市服务器 开放平台多种业务系统
内部资料 注意保密
8
二、DB2的访问
2.1 DB2的登录 2.2 SQL语句的运行
2.3 SQLSTATE & SQLCODE
缓冲池、日志文件、表空间 物理存储、表空间容器、目录、文件系统或裸设备
内部资料 注意保密
19
三、DB2数据库对象
系统、实例、数据库
系统是DB2体系结构中最高一层,一个系统表示一个DB2的安装;
实例也称数据库管理器,是管理数据的DB2代码,一个系统可包含多个彼此相互独立的
实例,每个实例可以管理多个数据库。
DB2基础知识(一)
杭州中心 数据业务室 席晓勇 2011年7月19日
内部资料 注意保密
1
内容提要
一、DB2概览 二、DB2的访问
三、DB2数据库对象 四、学习指引 五、总结
内部资料 注意保密
2
学习目标
DB2的分类 DB2的访问以及服务器网络结构 理解基础数据库对象及对象间关系:表、表空间、分区、容器、索
内部资料 注意保密
27
三、DB2数据库对象
系统模式
系统模式集是和每个数据库一起创建的,并且它们被放置到 SYSCATSPACE 表空间中
SYSIBM: 基本系统目录 建议不要进行直接访问 SYSCAT: PUBLIC 被授予该模式的 SELECT 权限 对只读视图编目 这是获取目录信息的推荐方式 SYSSTAT: 可更新的目录视图 - 影响优化器 SYSFUN: 用户定义的函数
说明
– – –
不能修改视图 视图不能创建索引 如果删除了某视图基于的表或另一视图,则该视图在数据库虽然有定义但不起作用
内部资料 注意保密
35
三、DB2数据库对象
视图
创建可更新视图和只读视图
• • •
视图的 SELECT 语句决定视图是只读的还是可更新的 通常,如果视图的行可映射至基表的行,则视图是可更新的。
2.4 服务器网络结构
内部资料 注意保密
9
二、DB2的访问
2.1 DB2的登录
远程登录到DB2服务器 通过本地客户端链接DB2服务器 节点目录、系统数据库目录和本地数据库目录间关系
内部资料 注意保密
10
二、DB2的访问
2.1 DB2的登录
远程登录到DB2服务器:ቤተ መጻሕፍቲ ባይዱ分行数据集市开发机
db2icrt
创建实例 db2idrop 删除实例 db2start 启动实例 db2stop 停止实例 create database 创建数据库
内部资料 注意保密
20
三、DB2数据库对象
系统、实例、数据库
内部资料 注意保密
21
三、DB2数据库对象
DB2层次下的对象层次
创建可更新视图的规则是复杂的,并且取决于查询的定义。例如,使用 VALUES、DISTINCT 或 JOIN 特性的视图是不可更新的。
查看 SYSCAT.VIEWS 的 READONLY 列,您可以很容易地确定视图是否为可更新的:Y 表示它是只 读的,N 表示它不是只读的。
内部资料 注意保密
29
三、DB2数据库对象
表设计考虑
选择合适的数据类型
• • •
•
•
根据业务要求选择合适类型,避免类型转换 根据需求选择合适长度 容易字段内容为数字,建议用整形不用CHAR CHAR和VARCHAR的选择 大对象数据类型合理使用
选择合适的约束类型
• • • • •
NOT NULL的约束,NOT NULL WITH DEFAULT 唯一约束 主键约束 表检查约束 外建(参考)约束
显式地指定对象的模式名: create table DWAINE.table1 (c1 int, c2 int) 隐式地指定对象的模式名: create table t2 (c1 int) --- table tjadm.t2 created 注:隐式地指定对象的模式名,用户 需要IMPLICT_SCHEMA 特权
内部资料 注意保密
24
三、DB2数据库对象
表空间物理存储结构
分区组是数据库内一个或多个数据库分区 的组合或集合。
表和索引在数据库内存储位置的逻辑实体。
表空间的物理存储。容器可以是操作系统 目录;大小已预先确定的文件;诸如未格 式化的磁盘分区,裸设备等。
内部资料 注意保密
25
三、DB2数据库对象
内部资料 注意保密
28
三、DB2数据库对象
模式如何在 DB2 中使用模式?
使用模式来全限定表或其它对象名,如下所示:
schemaname.tablename
多张表可以有同一名称,但是要有不同的模式名
表 user1.staff 不同于 user2.staff
创建对象时指定模式
例如用户= tjadm
内部资料 注意保密
12
二、DB2的访问
节点目录、系统数据库目录和本地数据库目录间关系
内部资料 注意保密
13
二、DB2的访问
2.1 DB2的登录
通过本地客户端链接DB2服务器
内部资料 注意保密
14
二、DB2的访问
2.2 SQL语句的执行
内部资料 注意保密
15
二、DB2的访问
2.3 SQLSTATE & SQLCODE
我们目前使用的是DB2 V9.5
内部资料 注意保密
6
一、DB2基本概述
1.3 DB2平台支持
DB2覆盖多硬件和操作系统平台
大型机平台 DB2 for z/OS (DB2 for OS/390、DB2 for MVS/ESA、DB2 for VM/VSE) 中型机平台 DB2 for System i,DB2已嵌入了i5/OS操作系统中 开放平台 DB2 for luw(Linux、UNIX、Windows)
内部资料 注意保密
23
三、DB2数据库对象
表空间 什么是表空间? 表空间是定义表和索引在数据库内存储位置的逻辑实体, 所有 DB2 表和索引都驻留在表空间中,数据库允许对表和索引数据的物理 存储位置进行完全控制。
有关数据库中表空间的更多详细情况可以使用以下命令来获得:
get snapshot for tablespaces list tablespaces
2006年划时代产品DB2 V9出现,第一个混合模式(既有关系模型,又有直接支持
XML的层次模型)。
内部资料 注意保密
5
一、DB2基本概述
1.2 DB2版本
版本分类
小型企业 中型企业 大型企业 Express Edition Workgroup Server Edition Enterprise Server Edition(ESE) Enterprise Server Edition(ESE)with Data Partitioning Feature 免费版 Express-C
表空间物理存储结构
容器,扩展数据块(extent)、数据页(page)和表空间的关系
内部资料 注意保密 26
三、DB2数据库对象
模式 模式是什么? 模式是用于数据库中创建的数据库对象的高级限定符。它是数据库
对象的集合,这些对象有表、视图、索引或触发器等等。它对数据 库对象进行了逻辑分类。当您将数据组织成表时,将表和其它相关 对象组合在一起可能也很有好处。 可以通过使用 create schema 命令定义模式来完成。有关模式的信 息保存在您所连接的数据库的系统目录表中。当创建其它对象时, 可以将它们放置在该模式内。
内部资料 注意保密
30
三、DB2数据库对象
表设计考虑
生成列应用
•
例:C3 DOUBLE GENERATED ALWAYS AS (C1+C2)
自动编号和标识列应用
•
•
Id int generated by default as identity Dn int not null generated always as identity(start with 1,increment by 1) --DB2自动生成,用 户无法输入制定值
内部资料 注意保密
34
三、DB2数据库对象
视图
创建视图
•
CREATE VIEW DWA_FAT.V_ACCACTDTA AS SELECT * FROM DWA_FAT.ACCACTDTA WHERE ACT_TYP = ‘C’
删除视图
•
DROP VIEW DWA_FAT.V_ACCACTDTA