DB2 9 底子(730 考试)认证指南,第 3 局部: 拜访 DB2 数据(3)
建樹第一個數據庫
First Steps
在 DB2 的安頓進程中,會表示 First Steps 面板,它答運用戶生成要操作的示例數據庫:
選擇 Database Creation 選項將表示一個附加菜單,可以建樹 SAMPLE 數據庫。
大大都用戶希冀建樹 SAMPLE 數據庫并運用這個數據庫研討 DB2 的特征。調用這個面板的方法是在 DB2 門徑組中的 Setup Tools 文件夾中選擇 First Steps(在 Windows 情況中)。另外,在命令行提示下收回命令 db2sampl 也會生成 SAMPLE 數據庫。
選擇了 SAMPLE 按鈕之后,表示另一個面板,在這里決定將在那里建樹 SAMPLE 數據庫。
在建樹 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。(關于命令行處置門徑的更多信息,請參考本系列中的第一個教程。)
建樹 DB2 數據庫的語法如下:
您會問,“就這么簡單?” 是的,就這么簡單!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 命令的參數之一是 ON path/drive 選項。這個選項陳說 DB2 您希冀在那里建樹數據庫。假如沒有指定途徑,就會在數據庫治理門徑設置(DFTDBPATH 參數)中指定的默許數據庫途徑上建樹數據庫。
比喻,以下的 CREATE DATABASE 命令將數據庫放在 Windows 操作瑣細的 D: 驅動器上的 TEST 目次中:
選擇 Automatic storage(默許設置)許可 DBA 為數據庫設置在建樹一切表空間容器時可以運用的存儲途徑。DBA 不消顯式地界說表空間的職位和大小,瑣細將自動地分派表空間。比喻,上面的數據庫建樹語句將為數據庫中的一切表空間設置自動存儲。
在 AUTOMATED STORAGE ON 選項后面,給出了三個文件目次(途徑)。這三個途徑是一個表空間的容器的職位。其他的選項是:
- AUTORESIZE YES
當表空間用光空間時,瑣細將自動地擴展容器的大小。
- INITIALSIZE 300 M
沒有界說初始大小的任何表空間的大小默許為 300 MB。每個容器是 100 MB(有三個存儲途徑)。
- INCREASESIZE 75 M (或百分數)
當表空間用光空間時,表空間的總空間添加 75 MB。還可以指定一個百分數,在這種情況下,表空間會增進它的當前大小的百分數。
- MAXSIZE NONE
表空間的最大大小沒有限定。假如 DBA 希冀限定一個表空間可以占用的存儲空間,那么可以指定一個最大值。
當運用 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 命令中運用 CODESET 和 TERRITORY 選項設置的。代碼頁可以運用單一字節透露表示一個字母數字字符(單一字節可以透露表示 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 可以指定表空間應該運用的文件瑣細的特征。
三個表空間運用以下語法住手界說:
假如省略任何樞紐字,DB2 將運用默許值來生成表空間。表空間界說接納這些選項,其語法如下:
留神,上面的語法不包羅與自動存儲數據庫相關聯的選項。
我們來詳盡看看這個語法。MANAGED BY 選項讓 DB2 生成這些表空間并決定如何治理空間。SMS 表空間運用 SYSTEM USING 樞紐字,如下所示:
拼湊 SMS 表空間,容器字符串(container string) 標識一個或多個將屬于這個表空間的容器,表空間數據將存儲在這些容器中。每個容器字符串可以是絕對的或絕對的目次名。假如目次名不是絕對的,它就相拼充數據庫目次。假如目次的任何局部不存在,數據庫治理門徑就會建樹這個目次。容器字符串的格局取決于操作瑣細。
運用 DATABASE USING 樞紐字界說 DMS 表空間:
拼湊 DMS 表空間,容器字符串標識一個或多個將屬于這個表空間的容器,表空間數據將存儲在這些容器中。指定容器的典范(FILE 或 DEVICE)和大小(依照 PAGESIZE 大小的頁面)。大小還可以指定為一個整數,后面隨著 K(透露表示千字節)、M(透露表示兆字節)或 G(透露表示千兆字節)。可以夾雜指定 FILE 和 DEVICE 容器。
拼湊 FILE 容器,容器字符串必須是絕對或絕對的文件名。假如文件名不是絕對的,它就相拼充數據庫目次。假如目次名的任何局部不存在,數據庫治理門徑就會建樹這個目次。假如文件不存在,數據庫治理門徑就會建樹這個文件并初始化為指定的大小。拼湊 DEVICE 容器,容器字符串必須是設置配備安排名而且這個設置配備安排必須曾經存在。
首要提示:一切容器必須是在所無數據庫上專一的;一個容器只能屬于一個表空間。
EXTENSIZE 指定數據庫可以寫到一個容器中的 PAGESIZE 頁面數量,到達這個數量之后將跳到下一個容器。EXTENSIZE 值還可以指定為一個整數,后面隨著 K、M 或 G。數據庫治理門徑在存儲數據時重復地循環運用各個容器。
PREFETCHSIZE 指定在施行數據預獲取時將從表空間中讀取的 PAGESIZE 頁面數量。預獲取大小還可以指定為一個整數,后面隨著 K、M 或 G。
預獲取會在查詢援用數據之前讀取查詢所需的數據,多么查詢就不需求守候底層操作瑣細施行 I/O 操作。
CREATE DATABASE 命令示例
上面是一個 CREATE DATABASE 命令的示例,它運用了后面計議的很多選項。
我們來詳盡地看看每一行:
CREATE DATABASE:這個語句界說要建樹的數據庫的稱號。
DFT_EXTENT_SZ 4:這個參數陳說 DB2 默許的區段大小是 4 個頁面,除非在其他處所顯式地聲明。
CATALOG TABLEPSACE MANAGED BY DATABASE USING:DB2 編目空間將由數據庫治理。
FILE 'C:\....':表空間的職位將跨兩個文件,每個文件有 2,000 個頁面的空間。
EXTENTSIZE 8:EXTENTSIZE 是 8 個頁面。
PREFETCHSIZE 16:在查詢處置期間,同時讀取 16 個頁面。
TEMPORARY TABLESPACE MANAGED BY SYSTEM USING:DB2 運用的一時空間將由操作瑣細處置。
'C:\TEMPTS' ...:一時空間將跨兩個文件,文件的大小在 DB2 施行期間自動地調停。
USER TABLESPACE MANAGED BY DATABASE USING:用戶空間(鋪排真正的表的處所)將由 DB2 直經受理。
FILE 'C:\TS\...':這個空間只要一個容器,它由 121 個頁面組成。
EXTENTSIZE 24:USER 表空間的 EXTENTSIZE 是 24 個頁面。
PREFETCHSIZE 48:查詢將同時預獲取 48 個頁面。
數據庫建樹小結
本節引見了關于如何建樹 DB2 數據庫的背景知識。在大大都情況下,CREATE DATABASE 命令的默許值供應了一個可以適意開發和測試需求的數據庫。
一旦決定將數據庫轉入消耗情況,就需求對 DB2 運用的數據結談判表空間界說領取更大的積極。固然這需求做更多的計劃工作,但是發作的數據庫更任意治理,遵命也可以更好。
版權聲明: 原創作品,許可轉載,轉載時請務必以超鏈接方式標明文章 原始情由 、作者信息和本聲明。否則將深究軌則責任。
轉載于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1972964.html
總結
以上是生活随笔為你收集整理的DB2 9 底子(730 考试)认证指南,第 3 局部: 拜访 DB2 数据(3)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DevExpress控件之GridCon
- 下一篇: 红旗桌面版本最新运用方式和题目问题解答1