2011-06-29 1 views

答えて

1

3のテーブル..通常、このようなものは、3つのテーブルで行われ

Person (PersonId) 
Language (LanguageId) 
Person_Languages (Id,PersonId,LanguageId) 
+0

Grr - 人の人がいっぱいのテーブル - もし私が手にしていたら、私はコーディングの標準ハンドブックであなたを鼓舞します! – BonyT

+0

@BonyT:ほとんど「コーディング基準」、より個人的な好み(http://stackoverflow.com/questions/338156/table-naming-dilemma-singular-vs-plural-names)...しかし私は変更しましたそれはとにかくあなたが良く感じるように) – StevieG

+0

thankyou - 私は今はるかに良く感じる:) – BonyT

2

多対多リレーションシップは、ジャンクション・テーブルで最もよく格納されます。あなたのケースでは

http://www.tomjewett.com/dbdesign/dbdesign.php?page=manymany.php

これはPERSONIDと言語IDの両方に外部キーを持っているでしょうPersonLanguage

と呼ばれます。

PersonテーブルとLanguageテーブルの両方にPersonLanguageテーブルとの1対多の関係があります。

PersonIdとLanguageIdに複合主キーを持たせることも、自動インクリメント番号を含む別のPersonLanguageId列を作成することもできます。

0

  • 人々(ID、名前、など)

  • 言語(ID、名前など)

  • 音声言語(peopleID、languageID)

...ここでSpokenLanguagesは、外国人のキーを使用して各自を話す言語に関連付ける関連付けテーブルです。

関連する問題