私は通常、クロージャーテーブルと呼ばれるデザインをお勧めします 。
フラットテーブルをツリーに解析するための最も効率的でエレガントな方法は何ですか?
また、このプレゼンテーションを設計しました:SQLとPHPを使用した階層データのモデル> 。 49万ノードの階層データのコレクションから0.3秒でツリーをレンダリングするPHPアプリを開発しました。
ここでクロージャーテーブルについてブログを書きました:クロージャーを使用したツリーのレンダリングテーブル 。
私の本には、階層データのさまざまな戦略に関する章を書きました。 SQLアンチパターン:回避データベースプログラミングの落とし穴 。