DB2 9 底子(730 考试)认证指南,第 3 局部: 拜访 DB2 数据(3)
建樹第一個(gè)數(shù)據(jù)庫
First Steps
在 DB2 的安頓進(jìn)程中,會(huì)表示 First Steps 面板,它答運(yùn)用戶生成要操作的示例數(shù)據(jù)庫:
選擇 Database Creation 選項(xiàng)將表示一個(gè)附加菜單,可以建樹 SAMPLE 數(shù)據(jù)庫。
大大都用戶希冀建樹 SAMPLE 數(shù)據(jù)庫并運(yùn)用這個(gè)數(shù)據(jù)庫研討 DB2 的特征。調(diào)用這個(gè)面板的方法是在 DB2 門徑組中的 Setup Tools 文件夾中選擇 First Steps(在 Windows 情況中)。另外,在命令行提示下收回命令 db2sampl 也會(huì)生成 SAMPLE 數(shù)據(jù)庫。
選擇了 SAMPLE 按鈕之后,表示另一個(gè)面板,在這里決定將在那里建樹 SAMPLE 數(shù)據(jù)庫。
在建樹 SAMPLE 數(shù)據(jù)庫時(shí),創(chuàng)議選擇 XML and SQL objects and data 選項(xiàng)。這個(gè)選項(xiàng)將以 UTF-8(Unicode)格局生成數(shù)據(jù)庫,多么就許可操作 XML 對(duì)象。假如沒有選擇 XML 選項(xiàng),就不能在 SAMPLE 數(shù)據(jù)庫中添加 XML 對(duì)象。
關(guān)于 First Steps 對(duì)象的更多信息,請(qǐng)參考本系列中的第一個(gè)教程。
上面在不運(yùn)用 GUI 的情況下建樹 DB2 數(shù)據(jù)庫。
第一個(gè)真正的數(shù)據(jù)庫
苦守令行建樹 DB2 數(shù)據(jù)庫是相稱簡(jiǎn)單的。要建樹數(shù)據(jù)庫,必須調(diào)用 DB2 命令行處置門徑(Command Line Processor,CLP)。調(diào)用方法是在 DB2 門徑組的 Command Line Tools 文件夾中選擇 Command Line Processor(見下圖),梗概從操作瑣細(xì)命令行施行命令 db2cmd db2。(關(guān)于命令行處置門徑的更多信息,請(qǐng)參考本系列中的第一個(gè)教程。)
建樹 DB2 數(shù)據(jù)庫的語法如下:
您會(huì)問,“就這么簡(jiǎn)單?” 是的,就這么簡(jiǎn)單!CREATE DATABASE 語句中專一必須的要素就是數(shù)據(jù)庫的稱號(hào)。數(shù)據(jù)庫的命名規(guī)律是:
-
數(shù)據(jù)庫稱號(hào)可以由以下字符組成:a-z、A-Z、0-9、@、# 和 $。
-
稱號(hào)中的第一個(gè)字符必須是字母表字符、@、# 或 $;不能是數(shù)字或字母序列 SYS、DBM 或 IBM。
-
數(shù)據(jù)庫稱號(hào)或數(shù)據(jù)庫又名是一個(gè)專一的字符串,包羅后面描畫的一個(gè)到八個(gè)字母、數(shù)字或鍵盤字符。
固然,有很多選項(xiàng)可供運(yùn)用;不消只輸著稱號(hào)。我們來研討一下這個(gè)命令理想上會(huì)招致什么情況。
DB2 建樹了什么?
在收回 CREATE DATABASE 命令時(shí),DB2 會(huì)建樹很多文件。這些文件包羅日記文件、設(shè)信賴息、汗青文件和三個(gè)表空間。這些表空間是:
- SYSCATSPACE:這是保管 DB2 瑣細(xì)編目標(biāo)處所,瑣細(xì)編目跟蹤與 DB2 對(duì)象相關(guān)聯(lián)的一切元數(shù)據(jù)。
- TEMPSPACE1:DB2 用來鋪排地方了局的一時(shí)工作區(qū)域。
- USERSPACE1:默許情況下存放一切用戶對(duì)象(表、索引)的處所。
一切這些文件都放在默許驅(qū)動(dòng)器上的 DB2 目次中。默許驅(qū)動(dòng)器凡是是安頓 DB2 產(chǎn)物的卷。
拼湊簡(jiǎn)單的運(yùn)用門徑,這個(gè)默許設(shè)置應(yīng)該可以適意需求。但是,可以希冀改動(dòng)數(shù)據(jù)庫文件的職位,梗概改動(dòng) DB2 治理這些對(duì)象的方法。接上去,我們將更詳盡地研討 CREATE DATABASE 命令。
拼湊從 DB2 8 住手遷移的用戶,有一個(gè)特別的留神事故:在 DB2 9 之前,CREATE DATABASE 命令會(huì)為上面列出的一切對(duì)象建樹 SMS 表空間。在 DB2 9 中,一切表空間都將界說為自動(dòng)存儲(chǔ)(DMS)表空間。
CREATE DATABASE 命令
DB2 CREATE DATABASE 命令的無缺語法可以在 DB2 Command Reference 中找到,但是下圖說領(lǐng)略 DBA 感興味的大大都選項(xiàng)。
CREATE DATABASE 命令
數(shù)據(jù)庫選項(xiàng)
表空間界說
在下面幾節(jié)中,將學(xué)習(xí)這些選項(xiàng)以及如何運(yùn)用它們。
數(shù)據(jù)庫職位
CREATE DATABASE 命令的參數(shù)之一是 ON path/drive 選項(xiàng)。這個(gè)選項(xiàng)陳說 DB2 您希冀在那里建樹數(shù)據(jù)庫。假如沒有指定途徑,就會(huì)在數(shù)據(jù)庫治理門徑設(shè)置(DFTDBPATH 參數(shù))中指定的默許數(shù)據(jù)庫途徑上建樹數(shù)據(jù)庫。
比喻,以下的 CREATE DATABASE 命令將數(shù)據(jù)庫放在 Windows 操作瑣細(xì)的 D: 驅(qū)動(dòng)器上的 TEST 目次中:
選擇 Automatic storage(默許設(shè)置)許可 DBA 為數(shù)據(jù)庫設(shè)置在建樹一切表空間容器時(shí)可以運(yùn)用的存儲(chǔ)途徑。DBA 不消顯式地界說表空間的職位和大小,瑣細(xì)將自動(dòng)地分派表空間。比喻,上面的數(shù)據(jù)庫建樹語句將為數(shù)據(jù)庫中的一切表空間設(shè)置自動(dòng)存儲(chǔ)。
在 AUTOMATED STORAGE ON 選項(xiàng)后面,給出了三個(gè)文件目次(途徑)。這三個(gè)途徑是一個(gè)表空間的容器的職位。其他的選項(xiàng)是:
- AUTORESIZE YES
當(dāng)表空間用光空間時(shí),瑣細(xì)將自動(dòng)地?cái)U(kuò)展容器的大小。
- INITIALSIZE 300 M
沒有界說初始大小的任何表空間的大小默許為 300 MB。每個(gè)容器是 100 MB(有三個(gè)存儲(chǔ)途徑)。
- INCREASESIZE 75 M (或百分?jǐn)?shù))
當(dāng)表空間用光空間時(shí),表空間的總空間添加 75 MB。還可以指定一個(gè)百分?jǐn)?shù),在這種情況下,表空間會(huì)增進(jìn)它的當(dāng)前大小的百分?jǐn)?shù)。
- MAXSIZE NONE
表空間的最大大小沒有限定。假如 DBA 希冀限定一個(gè)表空間可以占用的存儲(chǔ)空間,那么可以指定一個(gè)最大值。
當(dāng)運(yùn)用 AUTOMATIC STORAGE 界說表空間時(shí),不需求供應(yīng)其他參數(shù):
在這個(gè)命令中,可以供授與表空間相關(guān)聯(lián)的任何參數(shù);但是,運(yùn)用自動(dòng)存儲(chǔ)可以大大簡(jiǎn)化一樣往常的表空間維護(hù)。與首要的大型消耗表相關(guān)聯(lián)的表空間可以需求 DBA 更多地干涉干涉干涉。
在沒有啟用自動(dòng)存儲(chǔ)的數(shù)據(jù)庫中建樹表空間時(shí),必須指定 MANAGED BY SYSTEM 或 MANAGED BY DATABASE 子句。運(yùn)用這些子句會(huì)判袂建樹 SMS 表空間和 DMS 表空間。在這兩種情況下,都必須供應(yīng)容器的顯式列表。
假如數(shù)據(jù)庫啟用了自動(dòng)存儲(chǔ),那么有另一個(gè)選擇??梢灾付?MANAGED BY AUTOMATIC STORAGE 子句,梗概完全去失 MANAGED BY 子句(這意味著自動(dòng)存儲(chǔ))。在這種情況下,不供應(yīng)容器界說,由于 DB2 會(huì)自動(dòng)地分派容器。
代碼頁和收拾整頓順序
一切 DB2 字符數(shù)據(jù)典范(CHAR、VARCHAR、CLOB、DBCLOB)都有一個(gè)相關(guān)聯(lián)的字符代碼頁??梢砸詾榇a頁是一個(gè)對(duì)照表,用來將字母數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)庫中存儲(chǔ)的二進(jìn)制數(shù)據(jù)。一個(gè) DB2 數(shù)據(jù)庫只能運(yùn)用一個(gè)代碼頁。代碼頁是在 CREATE DATABASE 命令中運(yùn)用 CODESET 和 TERRITORY 選項(xiàng)設(shè)置的。代碼頁可以運(yùn)用單一字節(jié)透露表示一個(gè)字母數(shù)字字符(單一字節(jié)可以透露表示 256 個(gè)共同元素),也可以運(yùn)用多個(gè)字節(jié)。
英語等言語包羅的共同字符相稱少;因而單字節(jié)代碼頁拼湊存儲(chǔ)數(shù)據(jù)充沛了。日語等言語需求逾越 256 個(gè)元素才略透露表示一切的共同字符;因而需求多字節(jié)代碼頁(凡是是雙字節(jié)代碼頁)。
在默許情況下,數(shù)據(jù)庫的收拾整頓順序依據(jù) CREATE DATABASE 命令中運(yùn)用的代碼集住手界說。假如指定選項(xiàng) COLLATE USING SYSTEM,就依據(jù)為數(shù)據(jù)庫指定的 TERRITORY 對(duì)數(shù)據(jù)值住手角力盤算。假如運(yùn)用選項(xiàng) COLLATE USING IDENTITY,那么以逐字節(jié)的方法運(yùn)用二進(jìn)制透露表示來角力盤算一切值。
DB2 Administration Guide 列出了建樹數(shù)據(jù)庫時(shí)可用的種種代碼頁。在大大都情況下,DBA 會(huì)讓這個(gè)設(shè)置堅(jiān)持為數(shù)據(jù)庫所在的操作瑣細(xì)的默許代碼頁。
拼湊需求運(yùn)用 XML 數(shù)據(jù)的運(yùn)用門徑,有一個(gè)特別的留神事故。當(dāng)前,DB2 只在界說為 Unicode(UTF-8)的數(shù)據(jù)庫中支撐 XML 列。假如數(shù)據(jù)庫在建樹時(shí)沒有啟用 Unicode 支撐,就不能在其中建樹 XML 列。
表空間界說
三個(gè)表空間(SYSCATSPACE、TEMPSPACE1、USERSPACE1)都是在默許目次中自動(dòng)建樹的(ON 樞紐字),除非指定它們的職位。拼湊每個(gè)表空間,DBA 可以指定表空間應(yīng)該運(yùn)用的文件瑣細(xì)的特征。
三個(gè)表空間運(yùn)用以下語法住手界說:
假如省略任何樞紐字,DB2 將運(yùn)用默許值來生成表空間。表空間界說接納這些選項(xiàng),其語法如下:
留神,上面的語法不包羅與自動(dòng)存儲(chǔ)數(shù)據(jù)庫相關(guān)聯(lián)的選項(xiàng)。
我們來詳盡看看這個(gè)語法。MANAGED BY 選項(xiàng)讓 DB2 生成這些表空間并決定如何治理空間。SMS 表空間運(yùn)用 SYSTEM USING 樞紐字,如下所示:
拼湊 SMS 表空間,容器字符串(container string) 標(biāo)識(shí)一個(gè)或多個(gè)將屬于這個(gè)表空間的容器,表空間數(shù)據(jù)將存儲(chǔ)在這些容器中。每個(gè)容器字符串可以是絕對(duì)的或絕對(duì)的目次名。假如目次名不是絕對(duì)的,它就相拼充數(shù)據(jù)庫目次。假如目次的任何局部不存在,數(shù)據(jù)庫治理門徑就會(huì)建樹這個(gè)目次。容器字符串的格局取決于操作瑣細(xì)。
運(yùn)用 DATABASE USING 樞紐字界說 DMS 表空間:
拼湊 DMS 表空間,容器字符串標(biāo)識(shí)一個(gè)或多個(gè)將屬于這個(gè)表空間的容器,表空間數(shù)據(jù)將存儲(chǔ)在這些容器中。指定容器的典范(FILE 或 DEVICE)和大小(依照 PAGESIZE 大小的頁面)。大小還可以指定為一個(gè)整數(shù),后面隨著 K(透露表示千字節(jié))、M(透露表示兆字節(jié))或 G(透露表示千兆字節(jié))。可以夾雜指定 FILE 和 DEVICE 容器。
拼湊 FILE 容器,容器字符串必須是絕對(duì)或絕對(duì)的文件名。假如文件名不是絕對(duì)的,它就相拼充數(shù)據(jù)庫目次。假如目次名的任何局部不存在,數(shù)據(jù)庫治理門徑就會(huì)建樹這個(gè)目次。假如文件不存在,數(shù)據(jù)庫治理門徑就會(huì)建樹這個(gè)文件并初始化為指定的大小。拼湊 DEVICE 容器,容器字符串必須是設(shè)置配備安排名而且這個(gè)設(shè)置配備安排必須曾經(jīng)存在。
首要提示:一切容器必須是在所無數(shù)據(jù)庫上專一的;一個(gè)容器只能屬于一個(gè)表空間。
EXTENSIZE 指定數(shù)據(jù)庫可以寫到一個(gè)容器中的 PAGESIZE 頁面數(shù)量,到達(dá)這個(gè)數(shù)量之后將跳到下一個(gè)容器。EXTENSIZE 值還可以指定為一個(gè)整數(shù),后面隨著 K、M 或 G。數(shù)據(jù)庫治理門徑在存儲(chǔ)數(shù)據(jù)時(shí)重復(fù)地循環(huán)運(yùn)用各個(gè)容器。
PREFETCHSIZE 指定在施行數(shù)據(jù)預(yù)獲取時(shí)將從表空間中讀取的 PAGESIZE 頁面數(shù)量。預(yù)獲取大小還可以指定為一個(gè)整數(shù),后面隨著 K、M 或 G。
預(yù)獲取會(huì)在查詢?cè)脭?shù)據(jù)之前讀取查詢所需的數(shù)據(jù),多么查詢就不需求守候底層操作瑣細(xì)施行 I/O 操作。
CREATE DATABASE 命令示例
上面是一個(gè) CREATE DATABASE 命令的示例,它運(yùn)用了后面計(jì)議的很多選項(xiàng)。
我們來詳盡地看看每一行:
CREATE DATABASE:這個(gè)語句界說要建樹的數(shù)據(jù)庫的稱號(hào)。
DFT_EXTENT_SZ 4:這個(gè)參數(shù)陳說 DB2 默許的區(qū)段大小是 4 個(gè)頁面,除非在其他處所顯式地聲明。
CATALOG TABLEPSACE MANAGED BY DATABASE USING:DB2 編目空間將由數(shù)據(jù)庫治理。
FILE 'C:\....':表空間的職位將跨兩個(gè)文件,每個(gè)文件有 2,000 個(gè)頁面的空間。
EXTENTSIZE 8:EXTENTSIZE 是 8 個(gè)頁面。
PREFETCHSIZE 16:在查詢處置期間,同時(shí)讀取 16 個(gè)頁面。
TEMPORARY TABLESPACE MANAGED BY SYSTEM USING:DB2 運(yùn)用的一時(shí)空間將由操作瑣細(xì)處置。
'C:\TEMPTS' ...:一時(shí)空間將跨兩個(gè)文件,文件的大小在 DB2 施行期間自動(dòng)地調(diào)停。
USER TABLESPACE MANAGED BY DATABASE USING:用戶空間(鋪排真正的表的處所)將由 DB2 直經(jīng)受理。
FILE 'C:\TS\...':這個(gè)空間只要一個(gè)容器,它由 121 個(gè)頁面組成。
EXTENTSIZE 24:USER 表空間的 EXTENTSIZE 是 24 個(gè)頁面。
PREFETCHSIZE 48:查詢將同時(shí)預(yù)獲取 48 個(gè)頁面。
數(shù)據(jù)庫建樹小結(jié)
本節(jié)引見了關(guān)于如何建樹 DB2 數(shù)據(jù)庫的背景知識(shí)。在大大都情況下,CREATE DATABASE 命令的默許值供應(yīng)了一個(gè)可以適意開發(fā)和測(cè)試需求的數(shù)據(jù)庫。
一旦決定將數(shù)據(jù)庫轉(zhuǎn)入消耗情況,就需求對(duì) DB2 運(yùn)用的數(shù)據(jù)結(jié)談判表空間界說領(lǐng)取更大的積極。固然這需求做更多的計(jì)劃工作,但是發(fā)作的數(shù)據(jù)庫更任意治理,遵命也可以更好。
版權(quán)聲明: 原創(chuàng)作品,許可轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接方式標(biāo)明文章 原始情由 、作者信息和本聲明。否則將深究軌則責(zé)任。
轉(zhuǎn)載于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1972964.html
總結(jié)
以上是生活随笔為你收集整理的DB2 9 底子(730 考试)认证指南,第 3 局部: 拜访 DB2 数据(3)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DevExpress控件之GridCon
- 下一篇: 红旗桌面版本最新运用方式和题目问题解答1