私は厳しい決断を下します。(少なくとも私のために)...DBまたはアプリケーションレベルで国/地域名を入力する必要がありますか?
私のウェブサイトには、ドロップダウンリストにある国のリストと選択した国に基づいた都市のリストがあります。私はとデシベルレベルでリストを作成することにしました:
CREATE TABLE Country
(
countryID - PK
countryName - FK
);
CREATE TABLE City
(
cityID - PK
countryID - FK
cityName
);
CREATE TABLE Register
(
registerID - PK
cityID - FK
)
ため、登録フォームに、登録にレコードを挿入するだけでなく、国/都市からレコードを検索するときしかし、これはPHPバックエンドのコードにいくつかの複雑さを追加することができますユーザーは都市名をdroplistに表示するので、ユーザーはcityIDが表示されません。したがって、選択したcityNameなどに基づいてcityIDを取得する必要があります。したがって、なぜ国や都市リストをアプリケーションレベルで固定ドロップダウンリストレジスタテーブルを次のように見てください。
CREATE TABLE Register
(
registerID - PK
cityName
)
cityNameは、私たちが参加したり、複数のテーブルを呼び出すことなく直接挿入されます。都市の特定のIDを取得してcityNameなどを取得できるようにします。
メンバーテーブルと投稿/スレッドテーブルの関係を作成するなどの重要なテーブルでのみ正規化します。メンバは、複数のスレッドに1対多の関係を持たせることができます。さもなければ、国のリストとして多価値に関連する事柄は、簡潔さとラップのためにDBレベルで考慮されません。
あなたはどう思いますか?アドバイス...