0

データベースで次の状況を表すのに苦労しています。

ユーザーは、複数のアドレス(クライアントの要求に応じて、自宅、オフィス、郵送など)を宣言できます。

UserID1つのユーザーアカウントを表す、と呼ばれる自動インクリメントされた主キーがあります。私は、BelongsToUserID各ユーザーのフォームフィールドを次のように表す列を作成することを考えていました。

必要なデータベース構造

各行は行でしか占有できないため、これを行うことはできませんUserID。これを達成する方法について何か考えはありますか?

4

2 に答える 2

1

アドレスを保持する別のテーブルが必要です。おそらく次のようなものです:

| id(主キー)| type(enum home / work / etc。)| userID | 住所|

于 2013-01-26T13:27:47.953 に答える
0

これは2つの方法で作成できます

1つ目は単純ですが、主キーを作成せず、候補キーとして複合キーペアを使用し、その中から主キーを選択することをお勧めしません。テーブルに主キーがないため、アドバイスされていません

2番目のアプローチは適切であり、マスターテーブルを作成し、それをリレーションテーブルとして使用し、別のテーブルを使用して実際にデータを格納することも使用します。

マスターテーブルにはid、userid、address_bitを含めることができ、2番目のテーブルにはid、address_bit、addressを含めることができます。

他の解決策を見つけたら教えてください。それは私が新しいことを学ぶのを助けるかもしれません:)

于 2013-01-26T13:36:09.783 に答える