「正規化と非正規化ってどっちが良いの?」
応用情報技術者試験でもデータベース分野で頻出ですが、
- 正規化はなぜ必要?
- 非正規化は悪いこと?
- パフォーマンスとの関係は?
- 実務ではどちらを使う?
で混乱する人がかなり多いテーマです。
この記事では、
- 正規化とは?
- 非正規化とは?
- 違い
- メリット・デメリット
- 試験での頻出ポイント
を分かりやすく解説します!
まず結論
正規化
「データの重複をなくして整合性を高める」
非正規化
「あえて重複を許して処理速度を高める」
超簡単にいうと
| 方式 | 目的 |
|---|---|
| 正規化 | 整合性重視 |
| 非正規化 | 性能重視 |
正規化とは?
超頻出!
目的
データ重複の排除
なぜ必要?
例えば:
注文ID | 商品名 | 商品価格
1 | PC | 100000
2 | PC | 100000
3 | PC | 100000
問題
価格変更時
100000
↓
120000
全行修正必要
ミス発生しやすい。
正規化後
商品テーブル
商品ID | 商品名 | 価格
A001 | PC | 100000
注文テーブル
注文ID | 商品ID
1 | A001
2 | A001
効果
- 重複削減
- 更新ミス防止
- 整合性向上
非正規化とは?
超重要!
目的
処理高速化
特徴
あえて重複を持たせる。
イメージ
注文ID | 商品名 | 価格
1 | PC | 100000
2 | PC | 100000
なぜ使う?
JOINが減るため。
JOINとは?
複数テーブル結合。
問題
正規化しすぎると
テーブル増加
↓
JOIN増加
↓
遅くなる
非正規化なら
テーブル少ない
↓
高速検索
正規化と非正規化の違い
| 比較 | 正規化 | 非正規化 |
|---|---|---|
| 重複 | 少ない | 多い |
| 整合性 | 高い | 低下しやすい |
| 更新 | 簡単 | ミスしやすい |
| 検索性能 | やや低い | 高い |
| JOIN | 多い | 少ない |
実務では?
重要!
OLTP
取引処理システム
↓
正規化
例
- 銀行
- ECサイト
- 販売管理
DWH
分析システム
↓
非正規化
例
- BIツール
- 売上分析
- データ分析基盤
応用情報で超頻出
かなり狙われる👇
- データ重複
- 整合性
- JOIN
- 性能向上
- 正規化目的
よくあるひっかけ
「非正規化は間違った設計」
→ ❌違う!
非正規化は:
性能向上のための設計
1分で復習!
正規化
重複排除
非正規化
性能向上
正規化
整合性重視
非正規化
検索速度重視
練習問題
問題
非正規化を行う主な目的はどれか。
ア
データ整合性向上
イ
データ圧縮
ウ
検索性能向上
エ
暗号化
解答
正解:ウ
解説
非正規化は、JOIN回数を減らし検索性能を向上させるために行われます。
まとめ
正規化とは
「重複をなくす」
非正規化とは
「あえて重複を持つ」
超重要
- 正規化=整合性重視
- 非正規化=性能重視
- JOIN回数
- データ重複
まずは、
「正規化=きれいに整理」
「非正規化=速さ優先」
このイメージを持つとかなり理解しやすくなります!
知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…
まずは無料でキャリア相談

コメント