0

簡単な質問がありますが、まだ混乱しています。

ER モデルを設計するときはいつでも、PK と FK をどのように描画することになっていますか?

User と Country の 2 つのテーブルがあるとします。

User
ID | firstName | lastName | FKCountry
1  | John      | Stewart  | 1
2  | Paul      | Duschmol | 2
etc.

Country
ID | country     | code
1  | Germany     | GER
2  | Switzerland | CH
etc...

さて、ER モデルに列「FKCountry」を追加する必要がありますか? つまり、両方のエンティティ間に関係 (菱形) がありますが、User エンティティで「FKCountry」を明示的に追加する必要がありますか?

私の質問が明確であることを願っています、事前にありがとう:)

4

2 に答える 2

2

の主な目的はForeign Key、2 つのテーブル間の参照整合性を強化することです。

の関係がCountryaUserである 場合、 tableOne-to-Manyに列を追加しても問題ありません。FKCountryUser

ただし、リレーションシップが複数のテーブルに属するだけでなく、複数のテーブルを持つことMany-to-ManyCountryできる場合は、3 テーブルの設計がはるかに優先されます。3 番目のテーブルは、他の 2 つの間の関連テーブルです。UserUserCountry

于 2013-03-23T16:09:00.397 に答える
1

はい、ER図FKCountryの表に追加する必要があります。User列がテーブルに存在する場合は、エンティティで表す必要があります。Country.IDリレーショナル マーカーが に接続していることは間違いありませんUser.FKCountry。この例で明らかであるからといって、他のリレーションシップでは、リンクされた列の名前が完全に異なるわけではなく、明らかではないというわけではありません。

于 2013-03-23T16:09:52.393 に答える