またもや出ました「正規化」。しかも似たような言葉がいろいろあってややこしいですね。
正規化、正則化、標準化…。お願いだから違う名前にしてほしい!今回はその中でもデータベースの正規化について整理します。
なお、ここでの整理は、ChatGPTにお弁当例を作ってもらいました(笑)
データベースの表は、情報を詰めた「お弁当箱」のようなもの。正規化とは、このお弁当箱の中身をきれいに整理する作業です。ぐちゃぐちゃに詰め込まれたおかずを、ちゃんと仕切って、取り出しやすくするイメージです。
🧾 未正規化(整理前のお弁当)
| お弁当ID | おかず | 作った人 | 職業 |
|---|---|---|---|
| A001 | 卵焼き, ウインナー, 焼き魚 | お母さん, お母さん, お姉さん | 料理教室の先生, 料理教室の先生, 学生 |
👉 1行に複数の情報が詰め込まれていて、取り出しにくい状態。
🥇 第一正規化(1つの行に1つの情報)
| お弁当ID | おかず | 作った人 | 職業 |
|---|---|---|---|
| A001 | 卵焼き | お母さん | 料理教室の先生 |
| A001 | ウインナー | お母さん | 料理教室の先生 |
| A001 | 焼き魚 | お姉さん | 学生 |
- カンマ区切りをやめ、1行に1つの情報だけを入れる
- これで「取り出しやすいお弁当」になる
- この状態が各カラムが原子的(単一の値)であるという状態
- 「繰り返しグループの排除」や「複数値の分離」
🥈 第二正規化(おかずに関係ある情報を分ける)
まずは第一正規化を満たしていることが前提
お弁当表
| お弁当ID(主キー) | おかず(主キー) |
|---|---|
| A001 | 卵焼き |
| A001 | ウインナー |
| A001 | 焼き魚 |
- この表は「どのお弁当に何のおかずが入っているか」を記録
- 主キーは「お弁当ID+おかず」の複合主キー
おかず表
| おかず(主キー) | 作った人(非キー) | 職業(非キー) |
|---|---|---|
| 卵焼き | お母さん | 料理教室の先生 |
| ウインナー | お母さん | 料理教室の先生 |
| 焼き魚 | お姉さん | 学生 |
- お弁当表 と おかず表 に分けることが 部分関数従属の排除
- 「作った人・職業」はおかずに関係ある情報 というのが 主キー(おかず)に完全従属している状態
🥉 第三正規化(作った人ごとに職業をまとめる)
まずは第二正規化を満たしていることが前提
おかず表
| おかず | 作った人 |
|---|---|
| 卵焼き | お母さん |
| ウインナー | お母さん |
| 焼き魚 | お姉さん |
作った人表
| 作った人 | 職業 |
|---|---|
| お母さん | 料理教室の先生 |
| お姉さん | 学生 |
- 「職業」は「作った人」に関係ある情報
- 同じ人が何度も登場しないようにまとめることでムダがなくなる
🧭 用語のかみ砕きまとめ
| 用語 | やさしい言い方 | たとえ |
|---|---|---|
| 主キー | 「この行はこれ!」と決める番号や組み合わせ | お弁当のラベル(A001など) |
| 主キーに関係ない情報 | その行の番号とは関係ないけど、別の項目に関係ある情報 | 「卵焼き」に関係ある「作った人」など |
| 間接的な依存関係 | 情報が直接ではなく、別の項目を通じてつながっている | 「卵焼き → お母さん → 職業」 |
試験に出る用語で整理
| 正規化段階 | やっていること | 試験でのキーワード例 |
|---|---|---|
| 第一正規化 | 重複の排除・結合の解除 | 原子的・繰り返しグループの排除 |
| 第二正規化 | 主キーに関係ない情報を 別テーブルに分ける | 部分関数従属の排除・ 複合主キー |
| 第三正規化 | 間接的に関係ある情報を さらに別テーブルに分ける | 推移的関数従属の排除 |
正規化の効果
- 情報のムダがなくなる(同じ人・同じ職業を何度も書かなくて済む)
- データの整理が進み、変更や検索がしやすくなる
- 「分ける理由」が見えるようになる
正規化・正則化・標準化・白色化の違い
混乱ワードの正規化、正則化、標準化、白色化の違いを明確にする表を最後にまとめておきます
| 用語 | 意味 | 関連キーワード (DS検定で登場) |
|---|---|---|
| 正規化(DB) | データベースの表を整理して冗長性や不整合をなくす | 第一正規化 第二正規化 第三正規化 非正規化 |
| 正規化(スケーリング) | データの値の範囲や尺度をそろえる前処理 0ー1のスケールに変換 | Min–Max正規化 Max–Absスケーリング 単位ベクトル正規化 ロバストスケーリング |
| 標準化 | データの前処理 平均0・分散1 | Zスコア標準化 標準正規分布 |
| 白色化 | データを無相関化 分散を等しく | 主成分分析(PCA)、 ZCA白色化、白色ノイズ |
| 正則化 | モデルが複雑になりすぎないように罰則を加えて過学習を防ぐ | L1正則化(Lasso) L2正則化(Ridge) Elastic Net ドロップアウト |
📘 シリーズ記事の流れ
次の記事 ▶️:
【DS検定対策17】SQLとRDBMSをやさしく整理
SQLの基本構文やRDBMSの特徴を、語感や例文でやさしく整理。DS検定リテラシ対策として暗記不要の理解を目指します。

【DS検定対策15】データベース3種の違いと使い分け
DS検定で頻出のデータベース3種(データレイク・DWH・データマート)を図と比喩でわかりやすく整理。用途や違いを直感的に理解できます。
📚 シリーズトップ:

DS検定対策シリーズ完全ガイド|全21記事で合格を目指す【目指せDi-Lite】
DS検定(データサイエンティスト検定リテラシーレベル)の合格を目指す全21記事の完全ガイド。数学・統計・機械学習を初心者向けに図解とLaTeX数式でわかりやすく解説。3回受験の失敗談から学ぶ効果的な勉強法・過学習対策も公開。Di-Lite認定(DX推進パスポート)取得を応援します。


コメント