私は2つの基本的なエンティティ、すなわち財務計画と購入要求を持っています。 Theese 2つのエンティティは、多対多の関係にある。多くのエンティティ間でsql接続されたコンポーネントを見つける
CREATE TABLE FinancialPlan
(
ID int NOT NULL,
PRIMARY KEY (ID)
);
CREATE TABLE PurchaseRequest
(
ID int NOT NULL,
PRIMARY KEY (ID)
);
CREATE TABLE FP_PR
(
FP_ID FOREIGN KEY REFERENCES FinancialPlan(ID),
PR_ID FOREIGN KEY REFERENCES PurchaseRequest(ID)
);
問題:指定された計画に関連する、すべての要求を検索し、指定された計画に関連する要求に関連するすべてのプラン、、、...
モデルはグラフとして表すことができます。各ノードは計画または要求を表し、各エッジは関係を表します。は、指定されたノードがに属する接続コンポーネントを見つけるという意味に置き換えられます。
例:
Plan Request FP_PR
ID | ID | FP_ID|PR_ID|
----| ----| -----|-----|
1 | 1 | 1 |1 |
2 | 2 | 2 |1 |
3 | 3 | 2 |2 |
4 | 3 |2 |
5 | 4 |2 |
5 |3 |
finplan ID = 1つの
所望の出力の連結成分検索:
FP_ID | PR_ID|
------+------+
1 | 1 |
2 | 1 |
2 | 2 |
3 | 2 |
4 | 2 |
を私は現在、多くに生成することができた、アプリ側で再帰的にそれをやっていますいくつかの再帰的なDBアプローチでこれを行うことができますか?
視覚化: 開始エンティティは矢印でマークされています。 必要な出力が丸で囲まれています。
@Alex、ご質問をお読みください –
私はまた、あなたがMySQLとSQLサーバータグであなたの質問をタグ付け、あなたは単純な用語でそれを説明しようと示唆しています。特定のRDBMSを念頭に置いていますか? – Alex
@Alex、私は視覚的な表現で私の質問を更新しました、少し物事を明確にすることを願っています。 RDBMSに関しては、SQL Serverソリューションを提供する必要がありますが、MySQLソリューションは互換性があるはずです。 –