Erdmates Logo
Erdmates
ブログ一覧へ
正規化データベース設計NF

データベース正規化完全ガイド:1NFから3NFまで

データベース正規化の概念と1NF、2NF、3NFを段階的に理解し、実際の例で学びます。

2026年1月17日9 分で読めます

正規化とは何か?

データベース正規化(Normalization)は、データの重複を最小化し、データの整合性を高めるためにテーブル構造を体系的に改善するプロセスです。1970年代にエドガー・コッドが提案したこの理論は、現在でもリレーショナルデータベース設計の根幹となっています。

正規化を行わないと、3つの**異常(Anomaly)**現象が発生します:

  • 挿入異常: データ挿入時に意図しないデータが一緒に挿入される問題
  • 削除異常: データ削除時に意図せず他のデータも削除される問題
  • 更新異常: データ更新時に一部のみ更新されデータ不整合が生じる問題

第1正規形(1NF):原子性の保証

1NF条件: 全カラムの値は原子値(Atomic Value)でなければなりません。一つのカラムに複数の値を入れてはいけません。

1NF違反の例:

注文ID顧客名商品リスト
1田中太郎ノートPC, マウス
2鈴木花子キーボード

1NF適用後:

注文ID顧客名商品
1田中太郎ノートPC
1田中太郎マウス
2鈴木花子キーボード

第2正規形(2NF):部分関数従属の排除

2NF条件: 1NFを満たし、すべての非主キー属性が主キーに完全関数従属していること。

2NF違反の例:

注文ID商品ID顧客名商品名数量
1A田中太郎ノートPC1

ここで主キーは(注文ID, 商品ID)ですが、「顧客名」は注文IDのみに依存し、「商品名」は商品IDのみに依存します。これが部分関数従属です。

2NF適用後:

注文テーブル、商品テーブル、注文明細テーブルに分割します。

第3正規形(3NF):推移的関数従属の排除

3NF条件: 2NFを満たし、すべての非主キー属性が主キーに推移的に従属しないこと。

A → B → C形式の依存関係がないことが条件です。

3NF違反の例:

学生ID学生名学科コード学科名
1山田一郎CSコンピュータ工学

「学科名」は「学科コード」に従属し、「学科コード」は「学生ID」に従属するため、「学科名」は推移的に従属します。

3NF適用後:

学生テーブルと学科テーブルに分割します。

正規化のメリットとデメリット

メリット

  • データ重複の最小化、データ整合性の向上、異常現象の解消

デメリット

  • JOINの増加、クエリの複雑化、パフォーマンスへの潜在的影響

まとめ

データベースを設計する際は、まず3NFを目標に正規化を進めましょう。ErdmatesのAI最適化機能を使えば、現在のERDの正規化違反を自動的に検出し、改善提案を受けられます。

Erdmatesで今すぐ始めましょう

AI搭載ERDエディタでデータベース設計を始めましょう。無料でご利用いただけます。

無料デモを試す無料で始める

関連記事

bigint・UUID v4・UUID v7:主キーの選び方(PostgreSQL 18 の uuidv7() 対応)

bigint・UUID v4・UUID v7 の主キーの長所と短所を比べ、PostgreSQL 18 に入った uuidv7() で変わった点と、状況別の選び方を整理します。

AIエージェントが読むデータベース:MCP時代のスキーマ設計原則

AIエージェントがMCPを通じてデータベースに直接接続するケースが増えています。エージェントがスキーマを誤って解釈しないように名前・コメント・制約を設計し、権限を安全に分ける方法を整理します。

PostgreSQL 19プレビュー:スキーマ設計と運用に影響する変更点(ベータ4時点)

正式リリースを控えたPostgreSQL 19の変更点のうち、テーブル設計・マイグレーション・運用に直接影響するものを公式リリースノート(ベータ4)に基づいて整理します。ベータで取り下げられた機能や、アップグレード前に確認すべき動作の変更もあわせて見ていきます。

Erdmates Logo
Erdmates

自然言語でデータベースを設計し、AI駆動ERDエディターでチームとリアルタイムでコラボレーション。

サービス

  • 機能紹介
  • 料金プラン
  • デモ
  • SQL→ERD変換

リソース

  • ブログ
  • ヘルプ
  • お問い合わせ

法的事項

  • 利用規約
  • プライバシーポリシー
  • 第三者提供
会社名: Produx|代表者: 최정회
住所: 강원특별자치도 원주시 솔우물2길 4-1 (무실동)
メール: master@erdmates.com
個人情報管理責任者: 최정회|ホスティングサービス提供者: Amazon Web Services

© 2026 Produx. All rights reserved.