2016-10-28 17 views
0

これは質問SQLIte and recursive dataの続きです。 SQLiteにツリーを保存したいとします。各ノード/休暇はまったく同じデータ構造を持ちますが、任意の2つのツリーはを共有できます。 0以上のノードまたはリーフ。ツリーの数は未定義です。 それでは、適切なスキーマは何でしょうか?SQLiteと再帰的構造

答えて

0

私がこれまで提案できる最善の解決策は、データを持つテーブルを作成することです:

create table main (dataid int, data text); 

し、各ツリーに対して動的に新しいテーブルを作成:

create table tree (dataid int, parent references (tree), foreign key dataid references main(dataid) on delete cascade); 

誰もがよりよく行うことができる場合 - 歓迎。

+1

ツリーごとに別のテーブルは必要ありません。各ツリーはルートノードで表現できます。ルートノードは 'NULL'親を持ちます。 –

+0

良い点、ありがとう – Boris

関連する問題