正規化(データベース)とは
正規化とは、データベースに保存するデータの重複をなくし、1つの事実を1か所だけに記録する構造へ整理する設計手法です。主にリレーショナルデータベースの設計で使われます。
平易に言えば、「同じことを何度も書かない表の作り方」です。たとえば注文の一覧表に毎回顧客の住所を書いていると、顧客が引っ越したときにすべての行を直す必要があり、一部だけ直し忘れると矛盾が生じます。顧客の住所を「顧客」の表に1回だけ書き、注文の表からは顧客IDで参照するようにするのが正規化の基本的な発想です。
正規化には段階があり、「第1正規形」「第2正規形」「第3正規形」と順に条件が厳しくなります。さらに上の段階もありますが、実務ではおおむね第3正規形までを目安にすることが多いとされます。
正規化の段階と考え方
正規化の段階を、表計算で作られた注文管理表を例に整理します。
| 段階 | 条件 | 例での対応 |
|---|---|---|
| 非正規形 | 1つのセルに複数の値が入っている | 「商品」欄に「A,B,C」と複数記載 |
| 第1正規形 | 1つのセルには1つの値だけ | 商品ごとに行を分ける |
| 第2正規形 | 主キーの一部だけで決まる項目を分ける | 注文日や顧客は「注文」表、数量は「注文明細」表へ |
| 第3正規形 | 主キー以外の項目で決まる項目を分ける | 顧客の住所は「顧客」表へ、商品名は「商品」表へ |
難しく見えますが、確認の観点は「この項目は、何が決まれば決まるのか」という一点です。顧客の住所は注文番号ではなく顧客が決まれば決まるので、顧客の表に置きます。商品名は商品コードが決まれば決まるので、商品の表に置きます。この問いを項目ごとに繰り返すと、自然に第3正規形に近い構造になります。
正規化によって得られる利点は次のとおりです。
- 更新が1か所で済み、修正漏れによる矛盾が起きない
- 同じデータを何度も保存しないため、入力の手間と誤りが減る
- 新しい種類のデータを追加しやすい
- 集計の基準がはっきりし、数字が食い違いにくい
実務での使い方・具体例
ある会社が営業活動をExcelで管理していたとします。1行に「訪問日、会社名、会社住所、担当者名、担当者部署、商談内容、自社担当者」が並び、同じ会社の行が何十行もあります。この状態では、会社の住所変更や担当者の異動のたびに多くの行を修正する必要があり、検索すると同じ会社が「株式会社〇〇」「(株)〇〇」のように表記ゆれで分かれて見えます。
システム化にあたって正規化すると、次のような構造になります。
- 「会社」表:会社ID、会社名、住所
- 「取引先担当者」表:担当者ID、会社ID、氏名、部署
- 「自社担当者」表:社員ID、氏名
- 「商談記録」表:記録ID、訪問日、担当者ID、社員ID、内容
こうすると会社名の表記ゆれは会社表の1か所で直せ、会社ごとの商談件数も正確に数えられます。発注側にとっては、この整理の過程で「担当者は複数の会社を兼ねることがあるか」「会社の住所は本社だけでよいか、拠点ごとに必要か」といった業務の問いに答えることになります。
よくある誤解と注意点
正規化は常に最大限まで行うべきだという誤解。 正規化を進めるほど表が細かく分かれ、データを取り出すときに多くの表を結合する必要が出ます。集計や表示の速度を優先して、あえて一部の重複を許す「非正規化」を行うこともあります。大切なのは、どこを崩したかとその理由を記録し、重複したデータの整合性をどう保つかを決めておくことです。
履歴として残すべき値まで正規化してしまう。 注文時の価格や送付先住所は、後でマスタが変わっても注文時点の値を残すべき情報です。これを商品表や顧客表の参照だけにすると、過去の注文の金額が変わって見えるという問題が起きます。「最新の値」と「その時点の値」のどちらが必要かを業務担当者と確認しましょう。
Excelのまま正規化しようとする。 表計算でもシートを分けて参照させることはできますが、参照関係を守る仕組みが弱く、運用で崩れがちです。データ量や利用者が増えてきたら、システム化を検討する目安になります。
関連用語
- データベース設計:正規化を含め、データの持ち方を決める設計作業全体
- ER図(実体関連図):正規化した結果のデータ構造を図にしたもの
- RDB(リレーショナルデータベース):正規化の考え方が前提となるデータベース
- 名寄せ:表記ゆれなどで重複した顧客データを1つにまとめる作業
- マスタデータ:正規化で切り出される、会社や商品などの基本データ
Excelからの移行の流れは「Excel業務をシステム化する手順」も参考にしてください。
Otsumuに相談できること
Otsumuは、Excelやスプレッドシートで育ってきた業務データを整理し、正規化したデータ構造のシステムへ移行する開発を支援しています。理論どおりにするだけでなく、業務で必要な履歴や集計の速さとのバランスを取りながら設計します。
詳しくはExcel業務のシステム化のページをご覧ください。「今の表をどう分ければよいか」という段階からでも、30分の無料相談でご相談いただけます。
執筆:Otsumu株式会社 / 編集日 2026.10.01