合同会社愛家

テーブル正規化について

2025-11-11 12:46:22
2025-11-11 12:48:22
目次

テーブル正規化とは、データベースの冗長性と不整合を防ぐために、テーブル構造を整理・分割する設計手法です。第一〜第三正規形までが基本で、段階的にデータの整合性と効率性を高めます。

🧩 正規化の目的

  • データの重複を排除:同じ情報を複数箇所に持たないようにする

  • 更新・削除の整合性を確保:一箇所の変更で済むようにする

  • 検索効率の向上:構造が明確なため、クエリが簡潔になる

📐 正規化の段階と特徴

🧠 具体例(社員とプロジェクト)

非正規形(1NF違反)

社員ID | 氏名 | プロジェクト
1 | 田中太郎 | A, B
2 | 佐藤花子 | C

→ 1つのセルに複数の値が入っている

第1正規形(1NF)

社員ID | 氏名 | プロジェクト
1 | 田中太郎 | A
1 | 田中太郎 | B
2 | 佐藤花子 | C

第2正規形(2NF)

  • プロジェクト名がプロジェクトIDに依存している場合、プロジェクト情報を別テーブルに分離

第3正規形(3NF)

  • 部署名が部署IDに依存している場合、部署情報を別テーブルに分離

✅ 正規化のメリット

  • 更新ミスの防止:一箇所の変更で済む

  • ストレージ効率の向上:重複データが減る

  • クエリの明確化:JOINで必要な情報を取得しやすくなる

より高度な正規形(第4〜第5、ボイスコッド正規形など)もありますが、業務システムでは第3正規形までで十分なことが多いです。

必要であれば、実際のテーブル構造をもとに正規化の設計支援もできますよ。

この記事を書いた人

管理人