私はそれらを使用して、ツリー(コメントスレッドなど)の操作を簡単にしました。ツリーのルートから配列内の単一ノードまでのパスを格納できます。配列内の各番号は、そのノードのブランチ番号です。次に、次のようなことができます:
SELECT id, content
FROM nodes
WHERE tree = X
ORDER BY path -- The array is here.
PostgreSQLは自然な方法で配列を要素ごとに比較するため、ORDER BY path
賢明な線形表示順序でツリーをダンプします。次に、path
の長さを確認します ノードの深さを把握し、レンダリングを正しく行うためのインデントを提供します。
上記のアプローチでは、データを1回通過するだけで、データベースからレンダリングされたページに移動できます。
PostgreSQLには、ジオメトリタイプ もあります。 、単純なキー/値のタイプ 、および他のさまざまな複合型 の構築をサポートします。 。
通常は、従来の関連付けテーブルを使用することをお勧めしますが、ツールボックスにツールを追加しても問題はありません。