ページの先頭行へ戻る
Symfoware Server V10.0.0 RDB運用ガイド(XMLアダプタ編)

1.3.2 XMLデータの格納

XMLデータをデータベースに格納する機能について説明します。

XMLデータのデータベースへの格納について、全体構成を以下に示します。

図1.7 XMLデータの格納

XMLアダプタは、データベースに格納するXMLデータをBLOB型のデータの1つとして扱います。これにより、利用者は、データベースにXMLデータを格納する場合、XMLデータのもつ特別な構造を意識する必要はありません。単にBLOB型の列をもつ表として自由にデータベースを設計できます。

図の例では、「伝票スキーマ.伝票表」表に対して、「伝票番号」列、「部門コード」列、「伝票種別」列、「伝票」列をもっています。ただし、「伝票」列は、XMLデータを格納することを前提として、BLOB型としています。

また、XMLデータを格納するSQL文についても、格納するBLOB型のデータの中身がXMLデータであるということ以外は、通常のデータ格納のためのSQL文と同じです。図の例では、「伝票」列に格納するデータがBLOB型であり、その中がXMLデータであることを想定していますが、BLOB型のデータを扱う従来のINSERT文と同じ構文で記述しています。

ここでは、XMLデータの格納(INSERT)を例としていますが、XMLデータを単にBLOB型のデータとして扱う場合は、更新(UPDATE)、削除(DELETE)、抽出(SELECT)も従来のSQL文と同じ構文で記述できます。例を以下に示します。

UPDATE 伝票スキーマ.伝票表 SET 伝票=:DATA WHERE 部門コード=1
DELETE FROM 伝票スキーマ.伝票表 WHERE 部門コード=1
SELECT 伝票 INTO :DATA FROM 伝票スキーマ.伝票表 WHERE 部門コード=1

なお、XMLデータのインデックスは自動的に更新されるため、XMLデータの格納、更新および削除について、利用者がXMLデータのインデックスを意識する必要はありません。