情報技術者試験で出題されることのあるデータベースの正規形について書き記しておきます。
■第1正規形
繰返し属性が存在しない。
全ての属性が単一値である状態。
■第2正規形
どの非キー属性も、主キーの真部分集合に対して関数従属しない。
第1正規形を満たし、かつ、主キーに部分関数従属する(主キーの真部分集合に関数従属する)属性が存在しない状態。
■第3正規形
どの非キー属性も、主キーに推移的に関数従属しない。
第2正規形を満たし、かつ、主キーからの推移的関数従属が存在しない状態。
応用情報技術者試験を始めとした情報技術者試験だと、データの持ち方は第3正規形がベスト、次に第2正規形、第1正規形、正規形なしの順に良いとされています。
が、私がシステムエンジニアとして実際に携わった案件では、第3正規形まで行うと1回のデータ抽出でアクセスするテーブルの数が増え、レスポンス時間などの性能目標を達せられなくなることがほとんどです。
そのため、実際の業務では第1正規形や正規形なしに落ち着くことが多いです。
情報技術者試験では出題されない内容だとは思いますが、データのきれいな持ち方以外にも重要なことがあるということは覚えておきましょう。