正在看的db2教程是:對比DB2 9和DB2 V8.x中的XML功能。
簡介
DB2 UDB Version 8.x 中的 XML 支持基於 DB2 的關系基礎設施。XML 數據要麼按原樣存儲為字符大對象(CLOB),要麼分解到關系表中。另一方面,DB2 UDB Viper 具有真正的 XML 數據本機支持。現在,將 XML 數據作為一種新的數據類型處理,存儲在一個經過解析並加上注釋的樹中,這個樹是與關系數據存儲分開的。還引入了基於 XML 模式的 XML 索引技術,並支持 XQuery 和 SQL/XML 作為查詢和發布 XML 數據的語言。
DB2 UDB Version 8.x 中的 XML 支持
DB2 8.x 使用 SQL/XML 和 DB2 XML Extender 向底層關系數據提供 XML 功能。DB2 XML Extender 提供許多用戶定義類型(UDT)、用戶定義函數(UDF)和存儲過程來支持 XML。XML 文檔存儲為關系形式,並使用 XML Extender 基礎設施為關系數據提供 XML 表現形式。還支持一些用來將關系數據發布為 XML 的 SQL/XML 函數。更多細節可以在 DB2 XML Extender Web 站點上找到。
DB2 還允許創建用戶定義的 Java 函數和存儲過程,可以將 XML 和 XSL 解析器(作為 DB2 8.x 的一部分安裝)合並到代碼中。
DB2 Viper 中的 XML 支持
DB2 Viper 支持本機 XML 存儲,從而不再需要將 XML 分解到關系表中供查詢和發布。這種新的存儲方式將 XML 保存為與 XML 文檔對象模型(DOM)相似的經過解析並加上注釋的樹形式。對於仍然需要將 XML 數據分解到關系表中的應用程序,這個版本中還提供了增強的分解功能,這種功能使用帶注釋的 XML 模式映射。
XML 特性對比 —— DB2 UDB Version 8.x 和 DB2 Viper
表 1. XML 特性對比 —— DB2 UDB Version 8.x 和 DB2 Viper
DB2 UDB Version 8.x
DB2 Viper
存儲和索引
XML 數據存儲為兩種形式:
原樣的文檔:
- XMLCLOB、XMLVARCHAR、XMLFILE 類型的 XML Extender 列。
- BLOB、CLOB 或 VARCHAR 類型的列。
- 在關系副表中創建 XML 文檔的間接索引。
分解到關系 XML Extender(XML 集合):
- 只有 XML 中的葉節點可以分解並映射到 SQL 列類型。
XML 數據存儲為兩種形式:
原樣的本機文檔 XML 存儲。
- 從頭構建了全新的層次化(本機)存儲。這種存儲方式保存文檔的任意樹形式。
- XML 類型的列。
- 使用葉節點的路徑表達式建立 XML 索引。
- 在插入時對文檔進行解析。
用關系 SQL/XML 函數和帶注釋的模式映射進行分解。
- 使用帶注釋的 XML 模式映射分解到現有的關系表。
- XML 片段也可以分解,映射到 XML 列類型。
- 處理名稱空間。
- 可以使用擴展的功能過濾 XML 數據,比如 DB2 表達式和條件。
驗證
- DAD 中定義的隱式驗證。
- 使用 XML Extender UDF svalidate 進行顯式驗證。
- 文檔類型定義(DTD)注冊並存儲在內部表中。
- 從文件系統獲得 XML 模式。
- 使用 SQL/XML 函數 XMLVALIDATE 進行顯式驗證。
- DTD 和 XML 模式注冊在 XML 模式存儲庫(XSR)中,並存儲在數據庫中。
查詢和發布
使用 SQL/XML 和 XML Extender 函數進行查詢和發布。
對於原樣的 XML 文檔。
- 使用帶索引的副表查詢文檔,以 CLOB 形式獲得文檔。
- 可以使用 XML Extender 函數進行子文檔查詢。
可以使用 Extender 函數進行 XSLT 轉換。
對於分解到關系表的 XML 數據。
使用 SQL/XML 和 XQuery 進行查詢和發布。
對於原樣的 XML 文檔。
- 可以混合使用 SQL/XML 和 XQuery 來檢索和發布關系數據和 XML 數據。
使用 XML Extender XSLT 函數支持 XSLT。
- 可以使用 XQuery 查詢、轉換和發布 XML。
對於分解到關系表的 XML 數據。
更新
對於原樣的 XML 文檔。
- 使用 XML Extender UDF update 進行更新。
對於原樣的 XML 文檔。
- 由於缺少定義 XQuery 更新的標准,不支持子文檔更新。
- 可以從 developerWorks 下載更新存儲過程,請參考 XML application migration from DB2 8.x to DB2 Viper, Part 1: Partial updates to XML documents in DB2 Viper (developerWorks,2006 年 5 月)。
為數據庫啟用 XML 功能
需要為數據庫啟用 XML Extender 功能。
不需要啟用數據庫,因為 XML 支持現在是 DB2 引擎的固有部分。
工具
在 DB2 Development Center 或 Control Center 中沒有集成 XML 支持。
Websphere Studio Application Developer
- Java Database Connectivity(JDBC)驅動程序中沒有提供支持。
XML 支持集成到了工具的各個方面。
DB2 Control Center 和 DB2 Develope
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一篇