PHP / SQL を使用して、ツリー構造として出力される部品データベースを構築しています。ネストされたセット モデルを使用したコーディングに最初に頭を突っ込んだ後、複数の親を許可するようにモデルを調整する必要があることに気付きました。
事実上、すべての子は複数の親を持つことができ、すべての親は複数の子を持つことができますが、各ノードが独自の相対になることはできません。パーツのコレクション (A) を親パーツにリンクし、元のコレクション (A) を分離したまま、より大きなパーツ (B) を作成します。そのパーツ コレクション (A) は別のパーツ ツリーで使用できますが、パーツ コレクション (A) を変更すると、その中に存在するすべてのエンティティが調整されます。
隣接モデルと同様の依存リンクと、そこから個々のツリーを構築できるようにする各部分の一意のツリー ID を使用して、ネストされたモデルを変更しました。
これはパーツのリンクには完全に機能しましたが、パーツのリンク解除に関しては問題がありました。パーツ E は、パーツ D とパーツ C の一部である可能性があります。パーツ C がパーツ B にリンクされている場合、ツリーが大きくなるほど、トラバーサルがなければパーツ E への一意のルートはありません。
このような部品データベースに最適なモデルはありますか? 質問のタイトルの方法とこれらのモデルをハイブリッド化する可能性を見てきましたが、どの方法または組み合わせがこの目的に適しているかはすぐにはわかりません.
任意の入力をいただければ幸いです。ありがとう。