データベース正規化とは

IT

データベース設計において「正規化(Normalization)」とは、
データの重複や不整合を防ぎ、効率的で一貫性のあるデータ構造を作るための手法です。

正規化は段階的に行われ、主に次のような「正規形」に分けられます。

正規形目的主なポイント
第1正規形(1NF)重複や繰り返しを排除すべての列が「単一値」になるようにする
第2正規形(2NF)部分関数従属の排除主キーの一部に依存する列を分離
第3正規形(3NF)推移的関数従属の排除主キー以外の列に依存する列を分離
第4正規形(4NF)多値従属の排除一つの主キーに複数の独立した値集合がある場合に分離
第5正規形(5NF)結合従属の排除不要な結合を防ぐために細分化

第1正規形(1NF):繰り返しの排除

ルール:
1つのセルには「1つの値」だけを格納する。
同じ種類のデータを複数列・複数行に持たない。

非正規化の例:

顧客ID顧客名購入商品
C001田中太郎ノートPC, マウス
C002鈴木花子スマートフォン

この表では「購入商品」が**複数値を含む(カンマ区切り)**ため、1NFの条件を満たしていません。

第1正規形の例:

顧客ID顧客名商品名
C001田中太郎ノートPC
C001田中太郎マウス
C002鈴木花子スマートフォン

→ 商品を1件ずつ行として分け、**「原子性(atomicity)」**を満たしました。


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

ルール:
主キーが複数列からなる場合、その一部にだけ依存する列を別テーブルに分ける。

第1正規形の例:

顧客ID商品ID顧客名商品名単価
C001P001田中太郎ノートPC100000
C001P002田中太郎マウス2000

この場合、主キーは(顧客ID, 商品ID)ですが、
「顧客名」は顧客IDにだけ依存しており、部分関数従属が存在します。

第2正規形の例(分割後):

顧客マスタ

顧客ID顧客名
C001田中太郎
C002鈴木花子

商品マスタ

商品ID商品名単価
P001ノートPC100000
P002マウス2000

購入履歴テーブル

顧客ID商品ID
C001P001
C001P002
C002P002

→ 主キーの一部にだけ依存する項目を分離し、データの重複を排除できました。


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

ルール:
主キー以外の列が、他の非キー列に依存してはいけない。

第2正規形の例:

商品ID商品名カテゴリIDカテゴリ名
P001ノートPCC01コンピュータ
P002マウスC01コンピュータ
P003スマートフォンC02モバイル

この場合、「カテゴリ名」は「カテゴリID」に依存しており、
「商品ID → カテゴリID → カテゴリ名」という推移的従属が存在します。

第3正規形の例(分割後):

商品マスタ

商品ID商品名カテゴリID
P001ノートPCC01
P002マウスC01
P003スマートフォンC02

カテゴリマスタ

カテゴリIDカテゴリ名
C01コンピュータ
C02モバイル

→ 「カテゴリ名」をカテゴリマスタに分けることで、冗長性を解消しました。


第4正規形(4NF):多値従属の排除

概要:
1つの主キーに対して複数の独立した繰り返し属性を持つ場合、それらを分離します。

例:
ある顧客が「複数の購入商品」と「複数の連絡先」を持つ場合、
それらを1つのテーブルにまとめると組み合わせが膨大になります。

→ 「購入商品テーブル」と「連絡先テーブル」を分けて保持します。


第5正規形(5NF):結合従属の排除

概要:
複数のテーブルを結合したときに情報の重複や欠損が起きないように細分化する段階です。
実際の業務システムでは第3正規形までで十分な場合が多く、
第4・5正規形はデータ分析や複雑な多対多関係を扱う設計で考慮されます。


まとめ

正規形主な目的設計上の効果
第1正規形重複データの排除データを整理しやすくする
第2正規形部分従属の排除データの一貫性を高める
第3正規形推移的従属の排除更新時の不整合を防ぐ
第4正規形多値従属の排除無駄な組み合わせデータを防ぐ
第5正規形結合従属の排除結合時の冗長性を防ぐ

ポイントまとめ

  • 実務では第3正規形までの正規化が標準的。
  • ただし、過度な正規化はパフォーマンス低下を招く場合があるため、
    必要に応じて「非正規化」も検討することが重要です。

Midjourneyプロンプト

Data being inserted into a database, digital data flow, glowing binary streams, futuristic interface, server room environment, precision, focused and technical mood, isometric composition, cool blue lighting, –no text::5 –ar 16:9 –q 2 –s 750

コメント

タイトルとURLをコピーしました