ツリー構造データとRDB
ツリー構造データをリレーショナルデータベース(RDB) で扱う場合、以下の4つのモデルが知られていました。
- 隣接リストモデル (Adjacency List Model)
- 経路列挙モデル (Path Enumeration Model)
- 入れ子集合モデル (Nested Sets Model)
入れ子区間モデル (Nested Intervals Model) - 閉包テーブルモデル (Closure Table Model)
入れ子集合モデルは、現時点では多くのフレームワークで採用されていて、便利なライブラリが多数のデベロッパーによって開発されています。
第五のモデル
Fertile Forest Model (肥沃な森林モデル)は、新しい発想で設計された、第五のモデルです。従来のモデルよりも、次の点で優れています。
- ツリー構造データのために追加されるデータ量のコスト
- 検索速度
- 関連ノードの検索バリエーション
- ツリー構造が破損した場合の修復の難易度
ツリー構造を扱う従来のモデルよりも豊かな機能を有するモデル、という意味で「Fertile Forest Model」と命名しました。以下、FFモデルと記載します。この記事は、FFモデルについて書かれた最初のブログ記事になるでしょう。
FFモデルの詳細については、次のエントリからまとめていきます。
- ツリー構造データをRDBで扱うための第五のモデル
- RDB に於けるツリー構造データ (1)
- RDB に於けるツリー構造データ (2)
- モデルデザイン
- ノード検索<祖先ノード系>
- ノード検索<子孫ノード系>
- ノード検索<親戚ノード系>
- ノード追加
- ノード移動
- ノード削除
- ツリー構造の復元
- 実数列化ツリーモデル