3 つのテーブル間で多対多のリレーションシップを設定しますが、リレーションシップは一度に 1 つのテーブル (TableA など) と他の 2 つのテーブル (TableB と TableC など) のうちの 1 つのみとなります。つまり、どちらか 1 つのジャンクション テーブルを持つことができます。
id | TableA_id | TableB_id | TableC_id
TableB_id が null または TableC_id が null であること、または 2 つのジャンクション テーブルであることを確認する制約付き
id | TableA_id | TableB_id
id | TableA_id | TableC_id
これら 2 つの可能性のどちらを使用すべきかを判断するための適切な基準は何ですか?