0

私は3つのテーブルを持っています -

CountryId | 名前

州の StateId | 名前 | 国ID

都市の都市 ID | 名前 | StateId

これら 3 つのフィールドは、ユーザー テーブル (およびその他のテーブル) で参照されます。

ユーザーのユーザー ID | 名前 | 国 ID | StateId | 都市ID

国のみ必須です。State と City は null 許容です。国が更新されたときにのみ州フィールドを表示し、州が更新されたときに都市を表示します。元:

ユーザー ID | 名前 | 国 ID | StateId | 都市ID

abc | xyz | 1 | null | null | ヌル

abc1 | xyz1 | 1 | 19 | ヌル

abc2 | xyz2 | 9 | 2 | 34

また、多くの場所で国をリストアップする必要があります。また、国フィールドのみが参照されているテーブルもいくつかあります。例:

プレジデント _ 国


私が考えた別のアプローチは -

ロケーション LocationId(自動インクリメント int) | 国(文字列) | 状態 (文字列) | 都市(文字列)

ユーザーのユーザー ID | 名前 | ロケーション ID


どのアプローチが良いですか?データベースを構築するより良い方法があれば教えてください。

前もって感謝します

4

1 に答える 1

0

たとえば、2 番目のアプローチでは、都市ごとに複数の国のコピーがあるため、最初のアプローチの方が適しています。ただし、ユーザーの場合は、cityId を指定するだけで十分です。そこから州と国を把握できるからです。また、標準では、エンティティ名に単数形の名詞を使用するように指定されていることに注意してください。

于 2013-11-13T09:27:02.260 に答える