フリーキーズ | 独学プログラミング

データベースの正規化とは

最終更新日

データベースやデータサイエンスの文脈における正規化とは、データを効率的かつ一貫性のある方法で整理するために設計されたプロセスです。

通常、データの冗長性と依存性を最小限に抑えるためにデータベーススキーマを設計するプロセスを指します。正規化にはデータベースを2つ以上のテーブルに分割し、テーブル間の関係を定義することが含まれます。
正規化の主な目的は、データを挿入、更新、削除する際に、データの異常(すなわち不整合)を減らすことです。

正規化の例

OrderIDCustomerNameCustomerEmailProductNameProductPrice
1Taro Yamadataro@example.comApples500
2Hanako Tanakahanako@example.comOranges600
3Jiro Takejiro@example.comBananas700

ここでは、顧客情報(CustomerNameCustomerEmail)と商品情報(ProductNameProductPrice)が注文情報と同じテーブルに格納されているため、冗長になってしまうことがわかります。
ある顧客が複数の注文をした場合、その顧客の情報は注文ごとにテーブル内で繰り返されることになります。

正規化によって、これを「顧客」「商品」「注文」の3つのテーブルに分離し、それらの間にリレーションを持たせることで冗長性と潜在的な矛盾を減らすことができます。

正規化はデータの合理化と複雑さの軽減に役立ち、より効率的なデータ処理と管理につながります。