スポンサーリンク

【応用情報技術者試験】正規化と非正規化の違いをわかりやすく解説

「正規化と非正規化ってどっちが良いの?」
応用情報技術者試験でもデータベース分野で頻出ですが、

  • 正規化はなぜ必要?
  • 非正規化は悪いこと?
  • パフォーマンスとの関係は?
  • 実務ではどちらを使う?

で混乱する人がかなり多いテーマです。

この記事では、

  • 正規化とは?
  • 非正規化とは?
  • 違い
  • メリット・デメリット
  • 試験での頻出ポイント

を分かりやすく解説します!


まず結論

正規化

「データの重複をなくして整合性を高める」


非正規化

「あえて重複を許して処理速度を高める」


超簡単にいうと

方式目的
正規化整合性重視
非正規化性能重視

正規化とは?

超頻出!


目的

データ重複の排除


なぜ必要?

例えば:

注文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転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント