相互参照テーブルに 1 対多のテーブルがあり、それが別のテーブルに多対 1 です。次に、そのテーブルには別のテーブルに 1 対多があり、そのテーブル間には 1 対 1 があります。
したがって、次のように考えてください。
人 -> crossref <- 犬の品種 -> さまざまな犬 -> 犬の名前
そして、私が関連付けたいのは、人 -> 犬の名前で、1 人につき同じ犬の名前が重複しないようにします。
人が何匹の異なる犬の名前を使用するかなど。そして、それは遅いので、私はdistinctを使いたくありません。クエリを瞬時またはほぼ瞬時にしたい。明らかな選択は、人と犬の名前の間の相互参照を使用してデータ モデルを変更することですが、それはオプションではないことにしましょう。すべてのテーブルには、Person.id などのようにインデックス付きの ID があります。