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

DB2 9 (Viper) 快速入門:XML 資料管理完整指南

     編輯:DB2 綜合知識

DB2 9 XML 功能快速上手

DB2 9(代號 Viper)引入了革命性的 pureXML 技術,讓關聯式資料庫能原生儲存、查詢與管理 XML 資料。本教學將引導您完成核心任務:建立資料庫物件、匯入 XML 資料、驗證 XML 結構,奠定後續進階操作的基礎。

建立資料庫物件

建立 Unicode 測試資料庫

在 DB2 Viper 中,唯有 Unicode 資料庫才能同時儲存 XML 文件與傳統 SQL 資料類型(整數、日期時間、變長字串等)。請開啟 DB2 命令視窗,執行以下指令建立採用 UTF-8 編碼的測試資料庫:

create database test using codeset UTF-8 territory us

資料庫建立後,DB2 即已就緒,可直接以階層式格式儲存 XML 資料,無需額外配置。

建立範例資料表

XML 資料儲存於 XML 欄位中,這些資料表作為文件集合的邏輯容器。DB2 背後對 XML 與非 XML 資料採用不同儲存機制,但透過資料表統一管理,簡化了應用開發與整合查詢。您可定義僅含 XML 欄位、僅含傳統 SQL 欄位,或兩者混合的資料表。以下範例建立 items(商品銷售與評價)與 clients(客戶聯繫資訊)兩張表:

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
);

請注意,comments 與 contactinfo 欄位未預先定義 XML 結構。這正是 DB2 的關鍵特性:單一 XML 欄位可儲存任意格式良好的 XML 文件,無論是否關聯已註冊的 XML Schema,甚至不同 Schema 的文件皆可共存。

建立視圖

包含 XML 欄位的資料表同樣支援視圖建立。範例建立僅包含「Gold」等級客戶的視圖:

create view goldview as
select id, name, contactinfo
from clients where status='Gold';

索引提示

本入門教學不涵蓋 XML 索引建立,但在生產環境中,定義適當的 XML 索引對查詢效能至關重要,請參考官方文件深入了解。

儲存 XML 資料

使用 INSERT 語句

透過 INSERT 可直接寫入 XML 資料。若已在應用程式變數中備妥 XML 內容,此法最為便捷。互動式操作時,建議使用 DB2 Command Editor(從 Control Center 的 Tools 選單啟動)。執行以下範例:

connect to test;
insert into clients values (77, 'John Smith', 'Gold',
  xmlparse(document '<addr>111 Main St., Dallas, TX, 00112</addr>'
  preserve whitespace)
)

請注意:直接提供 XML 字串需呼叫 XMLPARSE 函數將字元值轉換為 XML 型別。大型或複雜文件不宜手工輸入,實務上多透過主機變數或參數標記由應用程式批次匯入。

使用 DB2 IMPORT 工具

IMPORT 工具在背景發出 INSERT 語句,適合大量資料載入。詳細用法將於後續章節說明。

DB2 Command Editor 介面

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