首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 9 (Viper) 快速入門:創建數據庫、導入 XML、模式驗證全流程

     編輯:DB2 教學

學習目標

  1. 創建 Unicode 數據庫與 XML 列表
  2. 用 INSERT / IMPORT 載入 XML 數據
  3. 開發、註冊 XML Schema 並啟用驗證導入

一、創建數據庫對象

1. Unicode 數據庫(XML 存儲前提)

CREATE DATABASE test USING CODESET UTF-8 TERRITORY US;

僅 Unicode 數據庫支持原生 XML 類型與 SQL 類型混存。

2. 含 XML 列的表

CONNECT TO test;

CREATE TABLE items (
  id INT PRIMARY KEY NOT NULL,
  brandname VARCHAR(30),
  itemname VARCHAR(30),
  sku INT,
  srp DECIMAL(7,2),
  comments XML
);

CREATE TABLE clients (
  id INT PRIMARY KEY NOT NULL,
  name VARCHAR(50),
  status VARCHAR(10),
  contactinfo XML
);

關鍵特性:XML 列無需預定義結構,同一列可存不同 Schema 或無 Schema 文檔。

3. 視圖

CREATE VIEW goldView AS
SELECT id, name, contactinfo FROM clients WHERE status = 'Gold';

4. 索引說明

教程數據量小暫不創建 XML 索引,生產環境必須定義專用 XML 索引以達最佳性能。

二、存儲 XML 數據

1. 交互式 INSERT(適合少量測試)

使用 DB2 Command Editor(Control Center → Tools → Command Editor):

CONNECT TO test;
INSERT INTO clients VALUES (77, 'John Smith', 'Gold',
  XMLPARSE(DOCUMENT '<addr>111 Main St., Dallas, TX, 00112</addr>'
             PRESERVE WHITESPACE));

XMLPARSE 將字符串轉為 XML 類型;大文檔不適用手工輸入。

2. IMPORT 批量導入(生產常用)

準備定界 ASCII 文件 clients.del(慣例 .del 後綴):

77,"John Smith","Gold",""
78,"Ella Kimpton","Gold",""
...

XML 文件內容示例 client3227.xml:

<Client>
  <Address><street>5401 Julio Ave.</street><city>San Jose</city><state>CA</state><zip>95116</zip></Address>
  <phone><work>4084633000</work><home>4081111111</home><cell>4082222222</cell></phone>
  <fax>4087776666</fax>
  <email>love2shop@yahoo.com</email>
</Client>

無 XML 文件的行省略 XDS 標籤,該列存 NULL。

執行導入:

IMPORT FROM clients.del OF DEL
  XML FROM C:/XMLFILES
  INSERT INTO user1.clients;

三、驗證 XML 數據(Schema Validation)

步驟 1:創建 XML Schema

  • 文本編輯器手寫、或工具生成(WebSphere Studio 右鍵 XML 文件 → Generate → XML Schema)
  • 靈活設計:用 minOccurs/maxOccurs 控制元素出現次數,如 email 0..5 次
  • 包含類型定義(string、int、decimal、date 等),驗證時自動添加類型註解

步驟 2:註冊 Schema 到 DB2

大 Schema 需增大應用堆:

CONNECT TO test;
UPDATE DB CFG USING APPLHEAPSZ 10000;

單文件獨立 Schema 一條命令完成:

REGISTER XMLSCHEMA 'https://mysample.org'
  FROM 'C:/XMLFiles/ClientInfo.xsd'
  AS user1.mysample COMPLETE;
  • https://mysample.org:命名空間 URI 佔位符,供實例文檔引用
  • user1.mysample:SQL Schema + XML Schema 名
  • COMPLETE:標註註冊完成,可用於驗證

注意:Schema 註冊與表列無綁定關係,一個 Schema 可驗證多表多列。

步驟 3:帶驗證的 IMPORT

IMPORT FROM clients.del OF DEL
  XML FROM C:/XMLFILES
  XMLVALIDATE USING XDS DEFAULT user1.mysample
  INSERT INTO user1.clients;

不符合 Schema 的行整行拒絕,輸出顯示拒絕計數與錯誤詳情。

XMLVALIDATE 子句同樣適用於 INSERT 語句。

四、工具鏈補充

  • Exegenix:Word/PDF → XML 轉換工具
  • MDXSYS:圖形化 XML Schema 設計工具
  • IBM WebSphere Studio / Eclipse Developer Workbench:查詢構造與 Schema 生成

結語

完成上述步驟即掌握 DB2 pureXML 存儲與驗證核心流程。後續將講解 SQL/XML、XQuery 查詢及 Java 應用開發。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved