DB2基础知识(一)
内部资料 注意保密
12
二、DB2的访问
节点目录、系统数据库目录和本地数据库目录间关系
内部资料 注意保密
13
二、DB2的访问
2.1 DB2的登录
通过本地客户端链接DB2服务器
内部资料 注意保密
14
二、DB2的访问
2.2 SQL语句的执行
内部资料 注意保密
15
二、DB2的访问
2.3 SQLSTATE & SQLCODE
说明
– – –
不能修改视图 视图不能创建索引 如果删除了某视图基于的表或另一视图,则该视图在数据库虽然有定义但不起作用
内部资料 注意保密
35
三、DB2数据库对象
视图
创建可更新视图和只读视图
• • •
视图的 SELECT 语句决定视图是只读的还是可更新的 通常,如果视图的行可映射至基表的行,则视图是可更新的。
显式地指定对象的模式名: create table DWAINE.table1 (c1 int, c2 int) 隐式地指定对象的模式名: create table t2 (c1 int) --- table tjadm.t2 created 注:隐式地指定对象的模式名,用户 需要IMPLICT_SCHEMA 特权
内部资料 注意保密
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;
内部资料 注意保密
29
三、DB2数据库对象
表设计考虑
选择合适的数据类型
• • •
•
•
根据业务要求选择合适类型,避免类型转换 根据需求选择合适长度 容易字段内容为数字,建议用整形不用CHAR CHAR和VARCHAR的选择 大对象数据类型合理使用
选择合适的约束类型
• • • • •
NOT NULL的约束,NOT NULL WITH DEFAULT 唯一约束 主键约束 表检查约束 外建(参考)约束
内部资料 注意保密
34
三、DB2数据库对象
视图
创建视图
•
CREATE VIEW DWA_FAT.V_ACCACTDTA AS SELECT * FROM DWA_FAT.ACCACTDTA WHERE ACT_TYP = ‘C’
删除视图
•
DROP VIEW DWA_FAT.V_ACCACTDTA
2.4 服务器网络结构
内部资料 注意保密
9
二、DB2的访问
2.1 DB2的登录
远程登录到DB2服务器 通过本地客户端链接DB2服务器 节点目录、系统数据库目录和本地数据库目录间关系
内部资料 注意保密
10
二、DB2的访问
2.1 DB2的登录
远程登录到DB2服务器:如分行数据集市开发机
我们目前使用的是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
内部资料 注意保密
28
三、DB2数据库对象
模式如何在 DB2 中使用模式?
使用模式来全限定表或其它对象名,如下所示:
schemaname.tablename
多张表可以有同一名称,但是要有不同的模式名
表 user1.staff 不同于 user2.staff
创建对象时指定模式
例如用户= tjadm
内部资料 注意保密
31
三、DB2数据库对象
表设计考虑
分区键选择
内部资料 注意保密
32
三、DB2数据库对象
分区键选择
案例: CREATE TABLE TABLE_SAM(…) DISTRIBUTE BY HASH ( ...); 旧语法:partitioning key(…)
内部资料 注意保密
内部资料 注意保密
27
三、DB2数据库对象
系统模式
系统模式集是和每个数据库一起创建的,并且它们被放置到 SYSCATSPACE 表空间中
SYSIBM: 基本系统目录 建议不要进行直接访问 SYSCAT: PUBLIC 被授予该模式的 SELECT 权限 对只读视图编目 这是获取目录信息的推荐方式 SYSSTAT: 可更新的目录视图 - 影响优化器 SYSFUN: 用户定义的函数
内部资料 注意保密
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
内部资料 注意保密
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自动生成,用 户无法输入制定值
引
具备自学的基础
内部资料 注意保密
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,第二代数据库诞生。
内部资料 注意保密
7
一、DB2基本概述
1.4 DB2在招商银行的应用
应用情况
主机 AS400 信用卡中心新一代390服务器 总行数据仓库核心服务器 分行数据集市服务器 开放平台多种业务系统
内部资料 注意保密
8
二、DB2的访问
2.1 DB2的登录 2.2 SQL语句的运行
2.3 SQLSTATE & SQLCODE
DB2基础知识(一)
杭州中心 数据业务室 席晓勇 2011年7月19日
内部资料 注意保密
1
内容提要
一、DB2概览 二、DB2的访问
三、DB2数据库对象 四、学习指引 五、总结
内部资料 注意保密
2
学习目标
DB2的分类 DB2的访问以及服务器网络结构 理解基础数据库对象及对象间关系:表、表空间、分区、容器、索
内部资料 注意保密
24
三、DB2数据库对象
表空间物理存储结构
分区组是数据库内一个或多个数据库分区 的组合或集合。
表和索引在数据库内存储位置的逻辑实体。
表空间的物理存储。容器可以是操作系统 目录;大小已预先确定的文件;诸如未格 式化的磁盘分区,裸设备等。
内部资料 注意保密
25
三、DB2数据库对象
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