| HITACHI HOME | UP | SEARCH | HITACHI


Top Page製品のご紹介製品情報適用例関連製品マニュアル・資料FAQXML解説用語集・略語
「HiRDB Adapter for XMLの機能と特長−定義ファイルによるXMLとデータベースの対応づけ−」に戻る

XMLからデータベースへのマッピングパターン



HiRDB Adapter for XMLでは、柔軟で高度なマッピング機能を提供するため、多種多様なXML文書を扱うことができます。
HiRDB Adapter for XMLのデータベースマッピング機能を利用し、XML文書のデータをRDBのテーブルに格納する場合のパターンをご紹介します。

1.一つのXMLファイルを1レコードに対応させる(1)
2.一つのXMLファイルを1レコードに対応させる(2)
3.ヘッダ情報がなく、エントリ多数
4.ヘッダ情報があり、エントリ多数(1)
5.ヘッダ情報があり、エントリ多数(2)
6.添付ファイルをBLOBカラムに格納する


1.一つのXMLファイルを1レコードに対応させる(1)


マッピングの特徴
レコードに対応するタグの内側に、カラムに対応するタグが続きます。タグは属性を持っていません。
マッピング例
マッピング例
マッピングの考え方
  • TAG1が出現するたびに、ENTRYテーブルにレコードを挿入します。
  • TAG1に続くITEM1タグの内容を、該当するレコードのIDカラムに格納します。
  • 同じくITEM2タグの内容を、年齢カラムに格納します。
マッピング定義の仕方
マッピング定義
▲このページの先頭へ


2.一つのXMLファイルを1レコードに対応させる(2)


マッピングの特徴
レコードに対応するタグは、カラムに対応する属性を持っています。
マッピング例
マッピング例
マッピングの考え方
  • TAG1が出現するたびに、ENTRYテーブルにレコードを挿入します。
  • TAG1のid属性を、該当するレコードのIDカラムに格納します。
  • 同じくTAG1のage属性を、年齢カラムに格納します。
マッピング定義の仕方
マッピング定義
▲このページの先頭へ


3.ヘッダ情報がなく、エントリ多数


マッピングの特徴
一つのファイルの中に、親子関係のない独立したエントリが多数続きます。
マッピング例
マッピング例
マッピングの考え方
1.および2.とマッピングの考え方は同じです。トリガになるタグが出現するたびに、テーブルにレコードを挿入します。

なお、このマッピングでは、ファイルが長くてもメモリ消費量が増えることはありません。
マッピング定義の仕方
マッピング定義
▲このページの先頭へ


4.ヘッダ情報があり、エントリ多数(1)


マッピングの特徴
  • 一つのファイルの中に,親子関係のない独立したエントリが多数続きます。
  • 各レコードに共通に格納したいヘッダ情報があります。ヘッダ情報専用のテーブルはありません。
マッピング例
マッピング例
マッピングの考え方
itemタグが出現するたびに、ENTRYテーブルにレコードを挿入します。
上位のタグであるitemlistタグをxpointerで参照し、ヘッダ情報であるshop,date属性の値を取得して対応するカラムに格納します。次に、id,age,jobなどの属性の値を、対応するカラムに格納します。

注※ マッピング定義に記述するタグの属性です。xpointerを使うとDOMツリーが構築されるため、長大なXML文書の処理には適していません。長大なXML文書では、5.で説明するマッピングをお勧めします。
マッピング定義の仕方
マッピング定義
▲このページの先頭へ


5.ヘッダ情報があり、エントリ多数(2)


マッピングの特徴
  • 一つのファイルの中に、ヘッダ情報と、多数のエントリがあります。
  • 各レコードに共通に格納したいヘッダ情報があります。また、ヘッダ情報を専用に格納するためのレコードがあります。
マッピング例
マッピング例
マッピングの考え方
itemlistタグが出現するたびに、ENTRY_HEADテーブルにレコードを挿入し、shop,date属性の値を対応するカラムに格納します。
次に、その内側のitemタグが出現するたび、子レコードをENTRYテーブルに挿入します。itemlistとの結合キーは親レコードからコピーします。ENTRYテーブルの残りのカラムに、itemタグの属性の値を取得して格納します。
ヘッダ情報は、ヘッダレコードだけに格納、またはヘッダレコードと子レコードの両方に格納のどちらでもかまいません。
マッピング定義の仕方
マッピング定義
▲このページの先頭へ


6.添付ファイルをBLOBカラムに格納する


マッピングの特徴
XMLファイルの中にヘッダ情報が入っており、添付ファイルがパス名で指定されています。
マッピング例
マッピング例
マッピングの考え方
標準提供のユーザ関数コールバックread_from_fileを使用し、パス名に指定されたファイルを取得してBINARY型データに変換します。さらにBLOBカラムに格納します。
マッピング定義の仕方
マッピング定義
▲このページの先頭へ

日立および他社の商品名称に関する記述
mail
All Rights Reserved. Copyright (C)