• 締切済み

レコードが少ないマスタの結合

フィールドに入る値の範囲が少ないとき、そのフィールドにコードを入れるべきか、そのまま値を入れるべきなのか、世間ではどうしているのか気になっています。 名簿テーブル1 氏名, 性別コード, 都道府県コード ---------------------------- "田中", 1, 40 "佐藤", 2, 22 "鈴木", 1, 15 性別コードにはせいぜい 0:不明 1:男性 2:女性 くらいしか入らないので、これだけで"m_性別"というマスタテーブルを作って外部結合でくっつけるべきなのでしょうか。この例では増えるマスタは2つだけですが、実際は細かいテーブルだらけになってしまいます。 正規化するかしないかという問題なのでしょうか。メリットとデメリット、一般的にはどっちを採用してるかを教えていただけないでしょうか。 経験がある方よろしくお願いします。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

(1)数が限定されていて、増減が無い。 (2)名称、表記などに変更が無い。 こういう場合は一般にマスタを設けないことが多い。 マスタを定義して保守する負荷と受ける恩恵の差を 考慮して決定しています。 性別に関しては上記の条件を考えても一般的には マスタ化しないと思います。その他に元号なども マスタ化された例を見ません。(私だけかも)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

会員管理で「1:男、2:女、3:法人」というマスタを見たことがあります。 それはさておき。 人数にもよるでしょうが、「性別にインデックスを作成することがあるか?」では? Oracleでビットマップインデックス作成する場合なら性別マスタを別に作成すると思います。 参照のみなら、名称で持っても良いでしょうね。

関連するQ&A