TOP設計・移行・活用> 階層に柔軟性を持たせる設計
エンジニアの視点から活用するXMLDB
エンジニアの視点から活用するXMLデータベース

第3回:統合システムへのXMLDBの適用
著者:メタジトリー  丸山 則夫   2006/3/28
前のページ  1  2   3  次のページ
階層に柔軟性を持たせる設計

   図2の例は階層を構成しているデータで階層構造を組み立てています。その結果、組織変更などで階層構造を変更する時にはデータも移動する必要があります。RDBでもXMLDBであっても、どちらを選んでも同じ問題がでてきます。

組織の階層の組み立て
図2:組織の階層の組み立て(再掲)

   また、組織構造の種類は1つで済むとは限りませんので、データ(値)が複数の階層にも対応できる構造を作る場合があります。その1つの案として、階層とデータの分離を行うことがあげられます。

   RDBでも部品管理や組織管理を行うとき、図3の構造で設計する場合があります。それはRDBのテーブル1つを使い再帰的に階層を表現する方法ですが、そのような構造はモデルとしてはわかりにくいものです。

階層の柔軟性を持たせる設計
図3:階層の柔軟性を持たせる設計

   XMLを使った場合、階層構造とデータを分離し、その間はリンク情報として扱うことができます。


階層を素直に表現すればよいXMLDB

   RDBでも柔軟な階層構造を扱えますが、パフォーマンスやモデルのわかりやすさなどから、XMLDBの方が柔軟な階層構造を扱うことに向いています。データ部分の扱いはフラットな構造なので、同一種類データベースで扱っても、他の種類のデータベースで扱っても問題はありません。

   また、階層部分をRDBで扱うと大変わかりにくい構造となってしまい、パフォーマンス的にも、ダイナミックに階層を抽出しますので不利です。一方、XMLではその階層部分を素直にあらわせばよいのです。


参考 ドキュメントをデータベースに格納する

   ドキュメントは階層構造、構造は通常内容に依存します。また、1つの文書の階層を均一にすることが望ましいですが、常に例外が起こります。階層を均一できれば、RDB・XMLDBどちらでシステムを構築しても問題は少ないでしょう。

   しかし、内容により階層構造の違いがでてくる時、RDBを利用してのデータベースシステムの構築は厄介です。一般的な文書構造を実現する場合は、XMLDBが向いています。

   また、コンテンツの再利用は階層構造と文章(内容)の分離を行い、コンテンツ部をフラットに管理します。

前のページ  1  2   3  次のページ


株式会社メタジトリー 丸山 則夫
著者プロフィール
株式会社メタジトリー  丸山 則夫
株式会社メタジトリー 代表取締役。長年、データ分析およびデータベースの設計、社内統合の情報基盤の整備に従事。 1998年XMLの可能性に着目。電子カタログ、電子ドキュメントなど広範囲な実績をベースに、XMLソリューションのコンセプトをビジネス展開。


INDEX
第3回:統合システムへのXMLDBの適用
  階層構造の設計
階層に柔軟性を持たせる設計
  情報の意味