正規化とは?
せいきか
正規化とは、データベース設計においてデータの重複や矛盾を排除し、一貫性を高めるための設計手法のことです。
正規化(せいきか、normalization)とは、リレーショナルデータベースの設計において、データの冗長性(無駄な重複)を取り除き、更新時の矛盾が起きにくい構造に整理する作業・手法のことです。
正規化はいくつかの段階(正規形)に分けられており、代表的なものとして以下があります。
- 第1正規形(1NF):各列に原子的な値(分割できない単一の値)のみを格納し、繰り返しグループを排除する
- 第2正規形(2NF):主キー全体に対して完全関数従属となるよう、部分従属を別テーブルへ分離する
- 第3正規形(3NF):主キー以外の列への推移的な従属を排除し、直接的な従属関係のみを残す
正規化を行うことで、データ更新時の不整合(更新異常・挿入異常・削除異常)を防ぐことができます。一方で、テーブルを結合(JOIN)する回数が増えてクエリが複雑になったり、パフォーマンスが低下したりする場合もあります。そのため、実務では意図的に正規化を緩める「非正規化(逆正規化)」を採用することもあります。
なお正規化はデータベース以外の文脈でも使われます。テキスト処理や機械学習の分野では、データのばらつきを統一的なスケールに変換する処理を指すこともあります。
使い方・例文
顧客名と住所を注文テーブルに直接入れると顧客情報の変更時に全行修正が必要になるため、正規化によって顧客テーブルを分離し、注文テーブルからは顧客IDを参照する設計にします。
この用語をシェア
最終更新: