TOP
>
設計・移行・活用
> 階層に柔軟性を持たせる設計
エンジニアの視点から活用する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の適用
階層構造の設計
階層に柔軟性を持たせる設計
情報の意味