RDBで階層構造を扱うの履歴
クールすぎる!!
Storing Hierarchical Data in a Database
http://www.sitepoint.com/article/hierarchical-data-database/
英語ですが、PHPとMySQLのソースも掲載されているので、それほど難しくないと思います。
おおざっぱに説明すると、ルートを頂点として各ノードの左右に順にIDを振り、このIDを利用して範囲検索することで、柔軟な取得を可能にするというものでした。
と思ったら、WEB+DB PRESSに書いてあるらしい。