DB2 9 底子(730 考试)认证指南,第 3 局部: 拜访 DB2 数据(3)

developerWorks








建树第一个数据库

First Steps

在 DB2 的安顿进程中,会表示 First Steps 面板,它答运用户生成要操作的示例数据库:

DB2 First Steps 面板

选择 Database Creation 选项将表示一个附加菜单,可以建树 SAMPLE 数据库。

Create database 面板

大大都用户希冀建树 SAMPLE 数据库并运用这个数据库研讨 DB2 的特征。调用这个面板的方法是在 DB2 门径组中的 Setup Tools 文件夹中选择 First Steps(在 Windows 情况中)。另外,在命令行提示下收回命令 db2sampl 也会生成 SAMPLE 数据库。

选择了 SAMPLE 按钮之后,表示另一个面板,在这里决定将在那里建树 SAMPLE 数据库。

Create SAMPLE database 面板

在建树 SAMPLE 数据库时,创议选择 XML and SQL objects and data 选项。这个选项将以 UTF-8(Unicode)格局生成数据库,多么就许可操作 XML 对象。假如没有选择 XML 选项,就不能在 SAMPLE 数据库中添加 XML 对象。

关于 First Steps 对象的更多信息,请参考本系列中的第一个教程。

上面在不运用 GUI 的情况下建树 DB2 数据库。









第一个真正的数据库

苦守令行建树 DB2 数据库是相称简单的。要建树数据库,必须调用 DB2 命令行处置门径(Command Line Processor,CLP)。调用方法是在 DB2 门径组的 Command Line Tools 文件夹中选择 Command Line Processor(见下图),梗概从操作琐细命令行施行命令 db2cmd db2。(关于命令行处置门径的更多信息,请参考本系列中的第一个教程。)

CLP

建树 DB2 数据库的语法如下:

CREATE DATABASE MY1STDB


您会问,“就这么简单?” 是的,就这么简单!CREATE DATABASE 语句中专一必须的要素就是数据库的称号。数据库的命名规律是:

  • 数据库称号可以由以下字符组成:a-z、A-Z、0-9、@、# 和 $。

  • 称号中的第一个字符必须是字母表字符、@、# 或 $;不能是数字或字母序列 SYS、DBM 或 IBM。

  • 数据库称号或数据库又名是一个专一的字符串,包罗后面描画的一个到八个字母、数字或键盘字符。

固然,有很多选项可供运用;不消只输着称号。我们来研讨一下这个命令理想上会招致什么情况。









DB2 建树了什么?

在收回 CREATE DATABASE 命令时,DB2 会建树很多文件。这些文件包罗日记文件、设信赖息、汗青文件和三个表空间。这些表空间是:

  • SYSCATSPACE:这是保管 DB2 琐细编目标处所,琐细编目跟踪与 DB2 对象相关联的一切元数据。
  • TEMPSPACE1:DB2 用来铺排地方了局的一时工作区域。
  • USERSPACE1:默许情况下存放一切用户对象(表、索引)的处所。

一切这些文件都放在默许驱动器上的 DB2 目次中。默许驱动器凡是是安顿 DB2 产物的卷。

拼凑简单的运用门径,这个默许设置应该可以适意需求。但是,可以希冀改动数据库文件的职位,梗概改动 DB2 治理这些对象的方法。接上去,我们将更详尽地研讨 CREATE DATABASE 命令。

拼凑从 DB2 8 住手迁移的用户,有一个特别的留神事故:在 DB2 9 之前,CREATE DATABASE 命令会为上面列出的一切对象建树 SMS 表空间。在 DB2 9 中,一切表空间都将界说为自动存储(DMS)表空间。









CREATE DATABASE 命令

DB2 CREATE DATABASE 命令的无缺语法可以在 DB2 Command Reference 中找到,但是下图说领略 DBA 感兴味的大大都选项。

CREATE DATABASE 命令

>>-CREATE-- -DATABASE- -database-name- ---------------------- -->'-DB-------'               '-| Database options |-'


数据库选项

 
CREATE DATABASE 选项:
|-- ---------------------------- ------------------------------->'-AUTOMATIC STORAGE--NO|YES--'
>-- --------------------------------------------- -------------->|     .-,---------.                           ||     V           |                           |'-ON---- -path-- - -- ---------------------- -''-drive-'    '-DBPATH ON-- -path-- -''-drive-'
>-- ----------------------- ------------------------------------>'-ALIAS--database-alias-'
>-- ---------------------------------------------- ------------->'-USING CODESET--codeset--TERRITORY--territory-'
>-- ----------------------------------- ------------------------>|                .-SYSTEM---------. |'-COLLATE USING-- -COMPATIBILITY-- -'-IDENTITY------- -IDENTITY_16BIT- -UCA400_NO------ -UCA400_LSK----- -UCA400_LTH----- '-NLSCHAR--------'
>-- --------------------------------------- -------------------->'-CATALOG TABLESPACE--| tblspace-defn |-'
>-- ------------------------------------ ----------------------->'-USER TABLESPACE--| tblspace-defn |-'
>-- ----------------------------------------- ------------------>'-TEMPORARY TABLESPACE--| tblspace-defn |-'


表空间界说

 
tblspace-defn:
|--MANAGED BY--------------------------------------------------->.-,------------------.V                    |
>-- -SYSTEM USING--(----'container-string'- --)-------------------------------- -->|                    .-,-----------------------------------------------.    ||                    V                                                 |    |-DATABASE USING--(---- -FILE--- --'container-string'--number-of-pages- --)- |                      '-DEVICE-'                                           |'-AUTOMATIC STORAGE---------------------------------------------------------'
>-- ----------------------------- ------------------------------>'-EXTENTSIZE--number-of-pages-'
>-- ------------------------------- ---------------------------->'-PREFETCHSIZE--number-of-pages-'
>-- --------------------- -- --------------------------------- ->'-AUTORESIZE-- -NO-- -'  '-INITIALSIZE--integer-- -K|M|G- -''-YES-'                            
>-- ------------------------------------ ----------------------->'-INCREASESIZE--integer-- -PERCENT- -''- -K|M|G-'
>-- ------------------------------- ----------------------------|'-MAXSIZE-- -NONE------------- -''-integer-- -K|M|G-'


在下面几节中,将学习这些选项以及如何运用它们。









数据库职位

CREATE DATABASE 命令的参数之一是 ON path/drive 选项。这个选项陈说 DB2 您希冀在那里建树数据库。假如没有指定途径,就会在数据库治理门径设置(DFTDBPATH 参数)中指定的默许数据库途径上建树数据库。

DBM 设置

比喻,以下的 CREATE DATABASE 命令将数据库放在 Windows 操作琐细的 D: 驱动器上的 TEST 目次中:

CREATE DATABASE MYDB ON D:\TEST


选择 Automatic storage(默许设置)许可 DBA 为数据库设置在建树一切表空间容器时可以运用的存储途径。DBA 不消显式地界说表空间的职位和大小,琐细将自动地分派表空间。比喻,上面的数据库建树语句将为数据库中的一切表空间设置自动存储。

CREATE DATABASE TEST AUTOMATIC STORAGE ON /db2/storagepath001,/db2/storagepath002,/db2/storagepath003AUTORESIZE YES INITIALSIZE 300 MINCREASESIZE 75 MMAXSIZE NONE


在 AUTOMATED STORAGE ON 选项后面,给出了三个文件目次(途径)。这三个途径是一个表空间的容器的职位。其他的选项是:

  • AUTORESIZE YES

    当表空间用光空间时,琐细将自动地扩展容器的大小。

  • INITIALSIZE 300 M

    没有界说初始大小的任何表空间的大小默许为 300 MB。每个容器是 100 MB(有三个存储途径)。

  • INCREASESIZE 75 M (或百分数)

    当表空间用光空间时,表空间的总空间添加 75 MB。还可以指定一个百分数,在这种情况下,表空间会增进它的当前大小的百分数。

  • MAXSIZE NONE

    表空间的最大大小没有限定。假如 DBA 希冀限定一个表空间可以占用的存储空间,那么可以指定一个最大值。

当运用 AUTOMATIC STORAGE 界说表空间时,不需求供应其他参数:

CREATE TABLESPACE TEST MANAGED BY AUTOMATIC STORAGE;


在这个命令中,可以供授与表空间相关联的任何参数;但是,运用自动存储可以大大简化一样往常的表空间维护。与首要的大型消耗表相关联的表空间可以需求 DBA 更多地干涉干涉干涉。

在没有启用自动存储的数据库中建树表空间时,必须指定 MANAGED BY SYSTEM 或 MANAGED BY DATABASE 子句。运用这些子句会判袂建树 SMS 表空间和 DMS 表空间。在这两种情况下,都必须供应容器的显式列表。

假如数据库启用了自动存储,那么有另一个选择。可以指定 MANAGED BY AUTOMATIC STORAGE 子句,梗概完全去失 MANAGED BY 子句(这意味着自动存储)。在这种情况下,不供应容器界说,由于 DB2 会自动地分派容器。









代码页和收拾整顿顺序

一切 DB2 字符数据典范(CHAR、VARCHAR、CLOB、DBCLOB)都有一个相关联的字符代码页。可以以为代码页是一个对照表,用来将字母数字数据转换为数据库中存储的二进制数据。一个 DB2 数据库只能运用一个代码页。代码页是在 CREATE DATABASE 命令中运用 CODESETTERRITORY 选项设置的。代码页可以运用单一字节透露表示一个字母数字字符(单一字节可以透露表示 256 个共同元素),也可以运用多个字节。

英语等言语包罗的共同字符相称少;因而单字节代码页拼凑存储数据充沛了。日语等言语需求逾越 256 个元素才略透露表示一切的共同字符;因而需求多字节代码页(凡是是双字节代码页)。

在默许情况下,数据库的收拾整顿顺序依据 CREATE DATABASE 命令中运用的代码集住手界说。假如指定选项 COLLATE USING SYSTEM,就依据为数据库指定的 TERRITORY 对数据值住手角力盘算。假如运用选项 COLLATE USING IDENTITY,那么以逐字节的方法运用二进制透露表示来角力盘算一切值。

DB2 Administration Guide 列出了建树数据库时可用的种种代码页。在大大都情况下,DBA 会让这个设置坚持为数据库所在的操作琐细的默许代码页。

拼凑需求运用 XML 数据的运用门径,有一个特别的留神事故。当前,DB2 只在界说为 Unicode(UTF-8)的数据库中支撑 XML 列。假如数据库在建树时没有启用 Unicode 支撑,就不能在其中建树 XML 列。









表空间界说

三个表空间(SYSCATSPACE、TEMPSPACE1、USERSPACE1)都是在默许目次中自动建树的(ON 枢纽字),除非指定它们的职位。拼凑每个表空间,DBA 可以指定表空间应该运用的文件琐细的特征。

三个表空间运用以下语法住手界说:

>-- --------------------------------------- --------------------> '-CATALOG TABLESPACE--| tblspace-defn |-'
>-- ------------------------------------ -----------------------> '-USER TABLESPACE--| tblspace-defn |-'
>-- ----------------------------------------- ------------------>'-TEMPORARY TABLESPACE--| tblspace-defn |-'


假如省略任何枢纽字,DB2 将运用默许值来生成表空间。表空间界说接纳这些选项,其语法如下:

|--MANAGED BY--------------------------------------------------->.-,------------------.V                    |
>-- -SYSTEM USING--(----'container-string'- --)-------------------------------- -->|                    .-,-----------------------------------------------.    ||                    V                                                 |    |'-DATABASE USING--(---- -FILE--- --'container-string'--number-of-pages- --)-''-DEVICE-'
>-- ----------------------------- ------------------------------> '-EXTENTSIZE--number-of-pages-'
>-- ------------------------------- ----------------------------> '-PREFETCHSIZE--number-of-pages-'


留神,上面的语法不包罗与自动存储数据库相关联的选项。

我们来详尽看看这个语法。MANAGED BY 选项让 DB2 生成这些表空间并决定如何治理空间。SMS 表空间运用 SYSTEM USING 枢纽字,如下所示:

SYSTEM USING ('container string')


拼凑 SMS 表空间,容器字符串(container string) 标识一个或多个将属于这个表空间的容器,表空间数据将存储在这些容器中。每个容器字符串可以是绝对的或绝对的目次名。假如目次名不是绝对的,它就相拼充数据库目次。假如目次的任何局部不存在,数据库治理门径就会建树这个目次。容器字符串的格局取决于操作琐细。

运用 DATABASE USING 枢纽字界说 DMS 表空间:

DATABASE USING ( FILE/DEVICE 'container string' number of pages )


拼凑 DMS 表空间,容器字符串标识一个或多个将属于这个表空间的容器,表空间数据将存储在这些容器中。指定容器的典范(FILEDEVICE)和大小(依照 PAGESIZE 大小的页面)。大小还可以指定为一个整数,后面随着 K(透露表示千字节)、M(透露表示兆字节)或 G(透露表示千兆字节)。可以夹杂指定 FILE 和 DEVICE 容器。

拼凑 FILE 容器,容器字符串必须是绝对或绝对的文件名。假如文件名不是绝对的,它就相拼充数据库目次。假如目次名的任何局部不存在,数据库治理门径就会建树这个目次。假如文件不存在,数据库治理门径就会建树这个文件并初始化为指定的大小。拼凑 DEVICE 容器,容器字符串必须是设置配备安排名而且这个设置配备安排必须曾经存在。

首要提示:一切容器必须是在所无数据库上专一的;一个容器只能属于一个表空间。

EXTENTSIZE  number of pages


EXTENSIZE 指定数据库可以写到一个容器中的 PAGESIZE 页面数量,到达这个数量之后将跳到下一个容器。EXTENSIZE 值还可以指定为一个整数,后面随着 KMG。数据库治理门径在存储数据时重复地循环运用各个容器。

PREFETCHSIZE  number of pages


PREFETCHSIZE 指定在施行数据预获取时将从表空间中读取的 PAGESIZE 页面数量。预获取大小还可以指定为一个整数,后面随着 KMG

预获取会在查询援用数据之前读取查询所需的数据,多么查询就不需求守候底层操作琐细施行 I/O 操作。









CREATE DATABASE 命令示例

上面是一个 CREATE DATABASE 命令的示例,它运用了后面计议的很多选项。

( 1) CREATE DATABASE MY1STDB
( 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


我们来详尽地看看每一行:

  1. CREATE DATABASE:这个语句界说要建树的数据库的称号。

  2. DFT_EXTENT_SZ 4:这个参数陈说 DB2 默许的区段大小是 4 个页面,除非在其他处所显式地声明。

  3. CATALOG TABLEPSACE MANAGED BY DATABASE USING:DB2 编目空间将由数据库治理。

  4. FILE 'C:\....':表空间的职位将跨两个文件,每个文件有 2,000 个页面的空间。

  5. EXTENTSIZE 8EXTENTSIZE 是 8 个页面。

  6. PREFETCHSIZE 16:在查询处置期间,同时读取 16 个页面。

  7. TEMPORARY TABLESPACE MANAGED BY SYSTEM USING:DB2 运用的一时空间将由操作琐细处置。

  8. 'C:\TEMPTS' ...:一时空间将跨两个文件,文件的大小在 DB2 施行期间自动地调停。

  9. USER TABLESPACE MANAGED BY DATABASE USING:用户空间(铺排真正的表的处所)将由 DB2 直经受理。

  10. FILE 'C:\TS\...':这个空间只要一个容器,它由 121 个页面组成。

  11. EXTENTSIZE 24USER 表空间的 EXTENTSIZE 是 24 个页面。

  12. PREFETCHSIZE 48:查询将同时预获取 48 个页面。










数据库建树小结

本节引见了关于如何建树 DB2 数据库的背景知识。在大大都情况下,CREATE DATABASE 命令的默许值供应了一个可以适意开发和测试需求的数据库。

一旦决定将数据库转入消耗情况,就需求对 DB2 运用的数据结谈判表空间界说领取更大的积极。固然这需求做更多的计划工作,但是发作的数据库更任意治理,遵命也可以更好。




版权声明: 原创作品,许可转载,转载时请务必以超链接方式标明文章 原始情由 、作者信息和本声明。否则将深究轨则责任。

转载于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1972964.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/362332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

新的自定义控件:TaskProgressView

我已经编写了一个新的自定义控件,并将其提交到ControlsFX项目。 这是一个高度专业的控件,用于显示后台任务,其当前状态和进度的列表。 这实际上是我为ControlsFX编写的第一个控件,只是出于乐趣的考虑,这意味着我自己没…

js笔记(三)ES5、ES5新增的数组的方法、字符串的方法、字符编码、对象的序列化和反序列化、bind

数组方法、字符串方法总结 大目录小目录一、ES5严格模式1. 严格模式;2. 严格模式的行为变更;二、ES5新增的数组的方法1. 判断是否为数组:Array.isArray();2. 判断数组中是否存在某个值:indexOf(data, start)、lastInd…

SVG入门

1、简介 使用xml描述的矢量文件。 2、兼容性 https://caniuse.com/#searchsvg 3、使用方式 &#xff08;1&#xff09;浏览器直接打开 &#xff08;2&#xff09;html中使用img引用 <p><img src"simple.svg" width"50" height"50"…

js 值和引用

1、概述 简单值&#xff08;基本类型&#xff09;通过值复制的方式来赋值/传递。 复合值&#xff08;对象&#xff09;通过引用复制的方式来赋值/传递。 <!DOCTYPE html><html lang"zh"><head><meta charset"UTF-8" /><title…

js笔记(六)事件、正则

数组方法、字符串方法总结 大标题小节一、事件1.1 事件&#xff1b;1.2 事件对象&#xff1b;1.3 键盘事件的keyCode&#xff1b;1.4 关于鼠标的尺寸&#xff1b;1.5 事件冒泡&#xff1b;1.6 事件的默认行为&#xff1b;1.7 事件监听&#xff1b;1.8 事件委托&#xff08;事件…

神州泰岳2050万元收买并增资奇点国际

网易科技讯 3月7日消息&#xff0c;神州泰岳来日诰日颁布发表关照公告&#xff0c;将经由股权让渡体例共付出1450万元股权让渡款获得奇点国际100%股权&#xff0c;同时神州泰岳与邵起明分别出资600万元、200万元对奇点国际举行增资。本次增资后&#xff0c;奇点国际注册资金增进…

拯救你丢失的精度——BigInteger和BigDecimal类(入门)

第三阶段 JAVA常见对象的学习 BigInteger和BigDecimal类 BigInteger类 (一) 构造方法&#xff1a; //针对超过整数范围的运算(整数最大值&#xff1a;2147483647) BigInteger(String val) (二) 常用方法&#xff1a; //加 public BigInteger add(BigInteger val) //减 public…

vue笔记(四)注册组件,路由,vuex

官网 一、项目中的组件注册 二、路由 三、vuex 一、项目中的组件注册 1. 全局 import Loading from /components/loading;//封装的loading组件 Vue.component(Loading,Loading);2. 局部 <loading/>important loading from ./components/loadingcomponents:{loading}二…

#102030:在30天内运行20 10K,庆祝Java 20年

1995年5月23日是技术史上的重要时刻。 业界似乎并没有意识到当天发布的语言会在未来几年内完全改变技术的格局。 Java将在今年的同一天庆祝20岁生日。 Java 20年&#xff0c;哇&#xff01; 回顾20年前的存储器时代&#xff0c;思考一下Java的发明时间/方式。 万维网专用于精…

vue笔记(一)基本使用、数据检测

vue 官网 Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是&#xff0c;Vue 被设计为可以自底向上逐层应用。 一、基本使用 二、数据检测 一、Vue的思想 MVC【参考 nd的博客园】&#xff1a; 名称描述M&#xff08;…

js笔记(二)数组、对象、this

大标题小节一、数组1. 数组的创建、赋值、分类&#xff1b;2. 数组的简单操作&#xff08;根据索引增、查、改&#xff09;&#xff1b;3. 声明式和构造函数创建的数组的区别&#xff1b;4.数组的方法&#xff1a;push()、unshift()、splice()、pop()、shift()、slice()、sort(…

js笔记(四)内置对象Math和Date()、浏览器对象模型BOM

大标题小标题备注一、内置对象Math、Date()1. Math 数学对象;2. Date() 日期对象;常用的数学对象&#xff1a;Math.PI、abs(n)、round(n)、random()、floor(n)、ceil(n)、pow(x,y)、sqrt(n)、min(3,4,5,6)、max()、sin(弧度)、cos()、tan()&#xff1b;获取日期&#xff1a;get…

ListView展示SIM信息

首先看一下程序运行后的图片&#xff1a; 在开始写代码之前&#xff0c;看展示下程序的结构&#xff1a; 下面开始代码, 第一步&#xff0c;主程序代码&#xff1a; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundl…

js笔记(五)文档对象模型DOM

大标题小节一、DOM选择器1. id 选择器&#xff1a;getElementById("id名")&#xff1b;2. class 选择器&#xff1a;getElementByClassName("class名")&#xff1b;3. 标签选择器&#xff1a;getElementsByTagName("标签名")&#xff1b;4. name…

Flot画实时曲线

源代码&#xff1a; <head> <meta http-equiv"Content-Type" content"text/html; charsetutf-8" /> <title>深海的小鱼编制-PLOT</title> <script language"javascript" type"text/javascript" src"…

RHQ指标的WildFly子系统

对于RHQ-Metrics&#xff0c;我已经开始为WildFly 8编写一个子系统&#xff0c;该子系统能够在WildFly内收集指标&#xff0c;然后以固定的时间间隔&#xff08;当前为每分钟&#xff09;将其发送到RHQ-Metrics服务器。 下一张图是该发件人连续运行1.5天时结果的可视化效果的G…

Linux下实现客户端和服务器端的通信

首先&#xff0c;可以将代码复制下来放到U盘里&#xff0c;然后挂载到Linux上 挂载步骤 找到设备->USB->你U盘的名字 挂载成功 访问U盘把代码拷贝到home文件夹下&#xff0c;就可以直接进行编译。 client.c #include <stdio.h> #include <unistd.h>#include…

js笔记(八)ES6

大标题补充描述一、 ES6 中新增的声明方式&#xff1a;let、constvar、let、const之间的区别二、 ES6 字符串扩展1. 子串的识别&#xff1a;includes()、startsWith()、endsWith()&#xff1b;2. 重复字符串&#xff1a;repeat()&#xff1b;3. 字符串补全&#xff1a;padStart…

webpack css打包为一个css

1、安装 npm install extract-text-webpack-plugin --save-dev 2、项目目录&#xff1a; index文件夹下的index.css&#xff1a; body{background-color: #ccc;}.flex-div{display: flex;} index文件夹下的index2.css&#xff1a; p{text-indent: 2em;} index文件夹下的index-l…

javascript深入理解js闭包

闭包&#xff08;closure&#xff09;是Javascript语言的一个难点&#xff0c;也是它的特色&#xff0c;很多高级应用都要依靠闭包实现。 一、变量的作用域 要理解闭包&#xff0c;首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种&#xff1a;全局变量和局…