特定の国に多くの観光スポット (モニュメント、公園、博物館) があるとします。もちろん、特定の観光スポットが多くの州に存在する可能性があります。
論理 ERD モデルに関しては、M:N 関係の間でジャンクション テーブルを使用する必要があります。
しかし、単純に隣接する 2 つのテーブルの PK をジャンクション テーブルの PK として使用するだけで十分でしょうか?
つまり、COUNTRY、SIGHTS、および SIGHT_TYPE テーブルがあり、SIGHTS はジャンクション テーブルです。特定の国に複数の博物館があると仮定すると (つまり、MUSEUM は SIGHT_TYPE です)、これは SIGHTS テーブルの各レコードを一意に識別できないことを意味しますね。
つまり、MUSEUM の SIGHT_TYPE_ID が 2 で、GERMANY の country_id が 22 であると仮定します。複数の美術館の場合、上記が当てはまる場合、これは発生しませんか? 22 2 - ミュージアム A 22 2 - ミュージアム B
したがって、SIGHT_ID などの代理キーの使用は、この場合、一意の識別子として機能するために絶対に不可欠ですか?
つまり、隣接する2つのテーブルのPKを結合テーブルや複合テーブルのPKとして利用するのが一般的ですが、このような場合は例外なのでしょうか?
ありがとうございました