|
||||||||||
| 1 2 3 次のページ | ||||||||||
| 階層構造の設計 | ||||||||||
|
前回はリレーショナルデータベース(RDB)とXMLデータベース(XMLDB)の設計の違いについて説明し、XMLDBはRDBの苦手な部分に柔軟に対応できるということをお伝えしました。今回はRDBとXMLDBの階層構造の違いについて説明します。 RDBとXMLDBの階層構造を比較する前に、RDBでも階層構造を表現できることを説明します。RDBで階層を表現方法する方法の1つとして、エンティティとその間の親子関係で表現する方法があります。 ![]() 図1:階層構造の設計 RDBで階層構造を表現する場合、図1のように「第1階層テーブル → 第2階層テーブル → 第3階層テーブル」と作っていけば、個々の階層のテーブルができます。これを組織の階層としてあらわすと、「最上位の組織のテーブル → 中間の組織のテーブル → 最下位の組織のテーブル」となります。そして、個々のテーブルの中に自分のキーと親のキーを持たせて、主従(親子)を定義します。 階層構造をRDBで作るのに対して、XMLDBで作る場合は、組織の階層を素直に組み立てていくことで表現できます。 ![]() 図2:組織の階層の組み立て ここでRDBで行う組織の階層を組み立てる方法とXMLDBで扱う方法を比較すると、表1のことがいえます。
表1:RDBで行う組織の階層を組み立てる方法とXMLDBで扱う方法との比較 また常に変更が加わる場合、どうしてもテーブルの設計変更はつきまといますので、運用の困難性が増します(変更の法則がない場合は、XMLで対応でもスキーマ定義を頻繁に変更しなくてはなりません)。 表1の方法で階層構造を組み立てる時には、拡張性・柔軟性の点でXMLDBの方がRDBに比べて有利です。ですが、階層構造が固定で構造の種類が少なく、横通しの処理が多ければ、データベースの運用も含めてRDBの利点がいきます。 |
||||||||||
|
1 2 3 次のページ |
||||||||||
|
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||
|
|
||||||||||
|
||||||||||



