程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2數據庫綜合 >> 對比DB2 9和DB2 V8.x中的XML功能

對比DB2 9和DB2 V8.x中的XML功能

編輯:DB2數據庫綜合
正在看的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 集合):
  • 使用文檔訪問定義(DAD)分解到現有的關系表。
  • 只有 XML 中的葉節點可以分解並映射到 SQL 列類型。
  • 不支持名稱空間。
  • 功能有限,不能處理復雜的 XML 文檔。
XML 數據存儲為兩種形式:

原樣的本機文檔 XML 存儲。
  • 從頭構建了全新的層次化(本機)存儲。這種存儲方式保存文檔的任意樹形式。
  • XML 類型的列。
  • 使用葉節點的路徑表達式建立 XML 索引。
  • 在插入時對文檔進行解析。
用關系 SQL/XML 函數和帶注釋的模式映射進行分解。
  • 使用帶注釋的 XML 模式映射分解到現有的關系表。
  • XML 片段也可以分解,映射到 XML 列類型。
  • 處理名稱空間。
  • 可以使用擴展的功能過濾 XML 數據,比如 DB2 表達式和條件。
驗證
  • DAD 中定義的隱式驗證。
  • 使用 XML Extender UDF svalidate 進行顯式驗證。
  • 文檔類型定義(DTD)注冊並存儲在內部表中。
  • 從文件系統獲得 XML 模式。
  • 沒有與列相關聯的隱式驗證。
  • 使用 SQL/XML 函數 XMLVALIDATE 進行顯式驗證。
  • 不支持 DTD 驗證。
  • DTD 和 XML 模式注冊在 XML 模式存儲庫(XSR)中,並存儲在數據庫中。
查詢和發布

使用 SQL/XML 和 XML Extender 函數進行查詢和發布。

對於原樣的 XML 文檔。
  • 使用帶索引的副表查詢文檔,以 CLOB 形式獲得文檔。
  • 可以使用 XML Extender 函數進行子文檔查詢。
可以使用 Extender 函數進行 XSLT 轉換。

對於分解到關系表的 XML 數據。
  • SQL/XML 發布函數。
  • XML Extender DAD 映射和函數。
使用 SQL/XML 和 XQuery 進行查詢和發布。

對於原樣的 XML 文檔。
  • 可以混合使用 SQL/XML 和 XQuery 來檢索和發布關系數據和 XML 數據。
  • 可以聯結多個 XML 列。
使用 XML Extender XSLT 函數支持 XSLT。
  • 可以使用 XQuery 查詢、轉換和發布 XML。
對於分解到關系表的 XML 數據。
  • SQL/XML 發布函數。
更新 對於原樣的 XML 文檔。
  • 使用 SQL update 語句進行全文檔更新。
  • 使用 XML Extender UDF update 進行更新。
對於原樣的 XML 文檔。
  • 使用 SQL update 語句進行全文檔更新。
  • 由於缺少定義 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
  • XML Schema Editor
  • DTD Editor
  • DAD Mapping 工具
  • 在查詢構建器中不支持 SQL XML。
  • Xerces 和 Xalan 解析器
  • Java Database Connectivity(JDBC)驅動程序中沒有提供支持。
XML 支持集成到了工具的各個方面。

DB2 Control Center 和 DB2 Develope

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一篇

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved