ナイーブツリー(Naive Trees, 素朴な木) どういうこと? 【したいコト】 階層(ツリー状)構造をテーブルに格納します。階層構造の代表例には、組織図や掲示板のスレッドなどがあります。 【やらかしたコト】 自分の親を格納する列を用意します。この列は、自分のテーブルに外部キーを設定します。このような設計を「隣接リスト(Adjacency List)」とも呼びます。 どうしてヤル? 隣接リストは、階層的なデータの格納に用いられる、最も一般的な設計です。 どうしてダメ? 階層の検索がやりにくい 階層の深さに制限のないSQLが書けません。 アプリケーション側に任せるしかありませんが、パフォーマンスに問題が発生します。 階層のメンテナンスがやりにくい サブツリー全体を削除する場合、すべての子孫を特定するために複数回クエリを実行し、最下層から順番に子孫を削除する必要があります。この順番を守らな