データベース エンジンの XML に関する機能強化
Microsoft SQL Server 2005 データベース エンジン では、XML ドキュメントをテーブルの列や Transact-SQL の変数に格納するための xml データ型がサポートされるようになりました。また、XQuery 言語もサポートされており、その中には XML データ操作言語 (XML DML) も含まれます。
XML に関する機能強化
新しい xml データ型
新しい xml データ型によって、XML のドキュメントやフラグメントを格納できるようになりました。xml データ型は、列、変数、またはストアド プロシージャや関数のパラメータの中で使用できます。xml データ型で格納した XML インスタンスを XML スキーマ (XSD) に関連付けて、各インスタンスの検証と型指定を行うこともできます。
詳細については、「xml データ型」を参照してください。
XQuery のサポート
XQuery は、xml データ型で格納した XML データに対してクエリを実行するための言語です。SQL Server 2005 の XQuery 実装は、W3C (World Wide Web コンソーシアム) の XQuery 言語定義のワーキング ドラフトに基づいています。
詳細については、「xml データ型に対する XQuery」を参照してください。
XML データ操作言語 (XML DML)
W3C の現在の XQuery 定義には、XML ドキュメントを変更する機能は含まれていません。Microsoft では、SQL Server 2005 の XQuery 実装を拡張し、XML ドキュメントやフラグメントの挿入、更新、削除を実行する機能を組み込んでいます。
詳細については、「XML DML (XML データ変更言語)」を参照してください。
Transact-SQL の機能強化 : FOR XML の機能強化
FOR XML ステートメントを入れ子にすることによって、XML ドキュメントの階層を作成できます。FOR XML ステートメントの結果は、新しい xml データ型で定義した列、ストアド プロシージャのパラメータ、または変数に格納できます。
詳細については、「FOR XML の新機能」を参照してください。
xml データ型の列のインデックス
xml データ型で格納する XML ドキュメントやフラグメントのサイズは非常に大きい場合があります。インデックスが作成されていない場合、データベース エンジン は、参照のたびにドキュメントやフラグメントを細かく調べる必要があります。xml データ型の列にインデックスを定義すれば、データベース エンジン によるドキュメントやフラグメントの処理が効率的になります。
詳細については、「xml データ型列のインデックス」を参照してください。
SQL Server 2005 のネイティブ XML Web サービス
データベース エンジン インスタンスには、アプリケーションから SOAP 要求を送信する宛先として、HTTP のエンドポイントまたはアドレスを設定できます。パケットはデータベース エンジン インスタンスが直接受信するので、Microsoft インターネット インフォメーション サービス (IIS) サーバーなどの中間層サービスを構成する必要はありません。HTTP のエンドポイントに送信されたクエリの結果は、XML ドキュメントとして返されます。
詳細については、「SQL Server 2005 におけるネイティブ XML Web サービスの使用」を参照してください。