正規化(normalization)

結論

データの重複と矛盾をなくすため表を分割する設計手法。第1〜第3正規形が頻出。

試験ではこう出る

科目A(旧・午前)では「第◯正規形の条件はどれか」という定義問題と、具体的な表を示して「この表は第何正規形か」を判定させる問題の2パターンが定番です。応用情報の科目Bではデータベース分野の必答に近い頻度で登場し、与えられた業務要件からE-R図と正規化した表を設計させる形式で問われます。

現場のたとえ

品目マスタと発注伝票を分けて、品名の変更を1箇所で済むようにする設計です。発注伝票の1行1行に品番と品名を両方書いていると、品名が変わったとき過去の伝票を全部直さなければならず、直し漏れた伝票と直した伝票で品名が食い違います。だから伝票には品番だけを持たせ、品名は品目マスタ側に1回だけ書く。伝票を見るときにマスタを参照すれば品名が分かる。「同じ事実は1箇所にだけ書く」——これが正規化の考え方そのもので、やっていることはマスタ整備と変わりません。

もう少し正確に言うと

正規化は段階的に進みます。第1正規形は繰返し項目をなくして表を平坦にした状態です。第2正規形は、主キーが複数列で構成されているときに、その一部だけで決まる項目を別表に切り出した状態(部分関数従属の除去)です。第3正規形は、主キー以外の項目によって決まる項目を切り出した状態(推移的関数従属の除去)です。実務では第3正規形まで進めるのが基本ですが、参照が多く結合コストが問題になる場合は、あえて重複を残す非正規化を選ぶこともあります。試験では第3正規形までが範囲です。

よくある勘違い

用語違い
非正規化性能を優先してあえて重複を残す設計。正規化の失敗ではなく意図的な判断
インデックス検索を速くする索引。表の構造を変える正規化とは目的が違う
主キー行を一意に特定する列。正規化の判定はこの主キーとの依存関係を見る

過去問での問われ方

「次の表は第何正規形か」という判定問題では、まず繰返しがあるか(第1)、主キーの一部で決まる項目があるか(第2)、非キー項目で決まる項目があるか(第3)の順に見ていけば機械的に判定できます。

出典:引用時は「年度・期・試験区分・時間区分・問番号」まで明記すること。

関連用語

ミニクイズ

第2正規形の条件として正しいものはどれか。

正解は1番目。主キーの一部にだけ依存する状態(部分関数従属)を取り除いたものが第2正規形です。2番目は第3正規形(推移的関数従属の除去)、3番目は第1正規形の条件です。

間違えた用語の復習リストを見る →

最終更新:2026-08-20