-1

個人の名前、電話番号、およびその他の情報を持つテーブル Person と 2 番目のテーブル Address がある状況を処理する適切な方法は何ですか?

Person テーブルで Address 主キーを外部キーとして指定する必要がありますか?それとも、Person_has_Address に個人と住所への外部キーを指定するのが最適ですか?

外部キー制約を使用するのは非常に面倒であることに気付き始めました。最初に住所を入力し、次に Person_has_Address を使用する場合は Person または Address テーブルから始めることができる人物を入力する必要があるためです。

4

2 に答える 2

2

一般に、Person と Address の関係は多対多です。複数の Person が同じ住所に居住/勤務/休暇することができ、各 Person が異なる居住/勤務/休暇の住所を持つことができます。

個別の Person テーブルと Address テーブル、および とPersonAddressのそれぞれに対する FK リレーションシップを持つテーブルを作成する必要がPersonありAddressます。

于 2013-04-21T04:10:33.253 に答える
0

Person が 2 つのアドレスしか持つことができない場合、これをモデル化する簡単な方法は、Person テーブルに外部キー列としてAddress1Idとを持たせることです。Address2Id

しかし、人が多くのアドレスを持つことができる場合は、多対多の中間テーブルを作成しますPersonAddress

PersonAddress
=============

PersonId  (FK to Person.Id)
AddressId (FK to Address.Id)
于 2013-04-21T04:03:36.797 に答える