ITパスポート試験の重要概念:正規化とは?
正規化(Normalization)とは、データベースの構造を整理して、冗長性をなくし、データの一貫性や効率的な管理を実現するための設計手法です。
主にリレーショナルデータベース(RDB)において用いられます。
正規化の目的
- データの重複(冗長性)を排除し、無駄を減らす
- データの更新・削除・挿入時の不整合(更新異常)を防ぐ
- 将来のデータ拡張や変更に柔軟に対応できる構造にする
正規化の段階(正規形)
正規化は段階的に行われ、それぞれの段階を「正規形」と呼びます:
- 第1正規形(1NF):
繰り返し項目(同じ列に複数の値を持つ)を排除し、全てのデータを原子値(1つの値)に分解する。
- 第2正規形(2NF):
主キーの一部にしか依存しない項目(部分関数従属)を別の表に分ける。
※第1正規形を満たした上で適用。
- 第3正規形(3NF):
主キー以外の項目に依存する項目(推移的関数従属)を排除。
※第2正規形を満たした上で適用。
具体例:非正規→第3正規形まで
例:社員データ(非正規)
社員ID | 氏名 | 部署名 | 部署電話番号
-----------------------------------------
1001 | 田中 | 営業部 | 03-1234-5678
1002 | 鈴木 | 営業部 | 03-1234-5678
1003 | 佐藤 | 開発部 | 03-9876-5432
- 第1正規形:繰り返しがない(この例はすでに1NF)
- 第2正規形:部署情報を別表に分離
- 社員テーブル:社員ID|氏名|部署ID
- 部署テーブル:部署ID|部署名|部署電話番号
- 第3正規形:部署名と電話番号が部署IDに依存している → OK(推移的従属なし)
正規化のメリット
- データの整合性が保たれる
- 無駄なデータ入力を防げる
- データのメンテナンスがしやすい
正規化のデメリット・注意点
- テーブル数が増えて、SQLが複雑になりやすい
- 必要に応じて「正規化しすぎない」判断も重要(パフォーマンスとのバランス)
ITパスポート試験での出題ポイント
- 正規化の目的(冗長性の排除)
- 各正規形の違い(1NF・2NF・3NF)
- 非正規なテーブルからの分解例
まとめ
- 正規化とは、データの無駄・矛盾をなくすためのテーブル設計手法
- 第1〜第3正規形のルールを理解することが基本
- ITパスポート試験では、構造を整理する意義と実例を理解しておくことが重要
正規化はデータベース設計の基本であり、実務でも広く使われる考え方です。
試験では表の構造とルールを見て「どの正規形か」を判断する問題が出ることもあるため、実例とセットで覚えておくと安心です。