1. ホーム
  2. データベース
  3. デービーツー

DB2 9 と DB2 V8.x の XML 機能を比較する

2022-01-24 18:49:55
私が見ているdb2チュートリアルは DB2 9 と DB2 V8.x の XML 機能を比較する」です。

はじめに
DB2 UDB バージョン 8.x の XML サポートは、DB2 のリレーショナルインフラストラクチャをベースにしています。XML データは、そのまま Character Large Objects (CLOB) として格納されるか、リレーショナルテーブルに分解されて格納されます。一方、DB2 UDB Viperは、XMLデータを真の意味でネイティブにサポートする。XMLデータは新しいデータ型として扱われ、リレーショナルデータストアとは別に、パースと注釈が施されたツリーに格納されるようになりました。また、XMLスキーマに基づくXMLインデックス作成技術が導入され、XMLデータの問い合わせと公開のための言語としてXQueryとSQL/XMLがサポートされています。
DB2 UDB バージョン 8.x の XML サポート
DB2 8.x は、SQL/XML および DB2 XML Extender を使用して、基盤となるリレーショナルデータに XML 機能を提供します。DB2 XML Extender は、XML をサポートするために多くのユーザー定義型 (UDT)、ユーザー定義関数 (UDF)、ストアドプロシージャを提供します。XML ドキュメントはリレーショナル形式で保存され、XML Extender のインフラストラクチャを使用して、リレーショナルデータの XML 表現を提供します。また、リレーショナルデータをXMLにパブリッシュするための多くのSQL/XML関数がサポートされています。詳細は、DB2 XML Extender の Web サイトを参照してください。
DB2 では、XML および XSL パーサー(DB2 8.x の一部としてインストール)をコードに組み込むことができるユーザー定義の Java 関数およびストアド プロシージャを作成することもできます。
DB2 ViperにおけるXMLのサポート
DB2 Viper はネイティブの XML ストレージをサポートしており、問い合わせや公開のために XML をリレーショナル・テーブルに分解する必要がありません。この新しいストレージは、XML を XML Document Object Model (DOM) と同様にパースされ注釈が付けられたツリーとして保存します。このリリースでは、XML データをリレーショナル テーブルに分解する必要があるアプリケーションに対して、注釈付き XML スキーマ マッピングを使用した分解機能が強化されています。
XML 機能の比較 -- DB2 UDB バージョン 8.x と DB2 Viper
表1. XML 機能の比較 -- DB2 UDB バージョン 8.x と DB2 Viper
DB2 UDB バージョン 8.x DB2 バイパー ストレージとインデックス
XMLデータは、2つの形式で保存されます。
現状有姿の文書です。

  • XMLCLOB、XMLVARCHAR、XMLFILE タイプの XML Extender カラム。
  • BLOB、CLOB、VARCHAR 型のカラム。
  • リレーショナルサブテーブルにXMLドキュメントの間接インデックスを作成する。
  • 作成されたサブテーブルを更新するために、ドキュメントを解析します。
リレーショナルXML Extender(XMLコレクション)に分解する。
  • DAD(Document Access Definition)を用いて既存のリレーションシップテーブルに分解する。
  • XMLのリーフノードのみを分解し、SQLのカラムタイプにマッピングすることができます。
  • 名前空間はサポートされていません。
  • 機能が限定されており、複雑なXMLドキュメントを扱うことができない。
XMLデータは、2つの形式で保存されます。
ネイティブドキュメントのXMLストレージをそのまま利用できます。
  • 新しい階層型(ネイティブ)ストアをゼロから構築します。このストレージは、ドキュメントを任意のツリー形式で保存する。
  • XMLタイプのカラムです。
  • リーフノードのパス表現を使って、XMLインデックスを作成する。
  • 挿入時にドキュメントをパースする。
リレーショナルSQL/XML関数とアノテーションによるスキーママッピングを用いた構文解析。
  • アノテーションされたXMLスキーママッピングを使用して、既存のリレーショナルテーブルに分解します。
  • XML フラグメントを分解し、XML カラムタイプにマッピングすることも可能です。
  • 名前空間を扱うことができます。
  • DB2 の式や条件などの拡張機能を使用して、XML データをフィルタリングすることができます。
バリデーション
  • 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からダウンロードすることができます。DB2 Viper における XML ドキュメントの部分的な更新 ( developerWorks、2006 年 5 月 ) を参照してください。
データベースのXMLを有効にする XML Extenderの機能は、データベースに対して有効にする必要があります。 XMLのサポートはDB2エンジンの本質的な部分であるため、データベースを有効にする必要はありません。 ツール XML サポートは、DB2 Development Center および Control Center には統合されていません。
Websphere Studio アプリケーション開発者
  • XMLスキーマエディタ
  • DTDエディタ
  • DADマッピングツール
  • クエリビルダでSQL XMLはサポートされていません。
  • Xerces と Xalan パーサー
  • Java Database Connectivity (JDBC) ドライバではサポートされていません。
XMLのサポートは、ツールのすべての側面に統合されています。
DB2 Control CenterとDB2 Develope

[1]  [2] [3] [4] [5] [6] [7] [8] [9] [10] 次のページ