ツリー階層に配置したい、さまざまな MySQL テーブルに多数の個別のアイテムが格納されています。隣接リスト モデルを使用して、parent_id フィールドを各テーブルに追加し、外部キー関係を使用してテーブルをリンクできます。
ただし、ネストされたセット/変更されたプレオーダー ツリー トラバーサル モデルを使用したいと思います。データは、読み取りに大きく偏った環境で使用され、実行すると予想される種類のクエリでは、このアプローチが好まれます。
問題は、ネストされたセットに関するすべての情報が、単一のテーブルに格納された 1 つのタイプのアイテムしかないと仮定していることです。私が考えることができるこれを回避する方法は次のとおりです。
- テーブル/項目タイプごとに 1 つずつ、ツリーに複数の外部キー フィールドがあります。
- ツリー構造のアイテム テーブルの名前とアイテム ID を格納します。
どちらのアプローチも控えめに言っても洗練されていないので、これを行うためのより良い方法はありますか?