基本 †
- リファレンスデータベースではツリー構造の再現が難しい(相性最悪)
- XMLデータベース等のオブジェクト型データベースならば、容易
基本 †
ノード毎に親、左、右にIDを振る方法 †
- ツリー状のそれぞれのノードの左と右に根っこの左から順に数字を割り当てていく
- Storing Hierarchical Data in a Database
- pgsql-jp: 32649 ツリー状のデータの取り扱い
- メリット
- 特定階層の一覧
- 特定階層以下のノード数等簡単に求められる
- 木構造に変更の無い場合有効
- デメリット
- 途中にノードを追加すると、ルートノード含めたノード番号全てを書き換えないといけない
- テーブル構造
CREATE TABLE cat (
cat_id INTEGER NOT NULL PRIMARY KEY
,name TEXT NOT NULL DEFAULT ''
,p_idINTEGER NOT NULL DEFAULT 1
,l_idINTEGER NOT NULL DEFAULT 0
,r_idINTEGER NOT NULL DEFAULT 0
);
|
|