こんにちは!バックエンドエンジニアの小室です。 先日、4月から入社予定の方に向け「データベース設計」について研修を行いました。 その中でもメイントピックであった「正規化」について改めてまとめてみました。 さっそくですが、データベースにおける正規化とは、 データベースで保持するデータの冗長性を排除し、 一貫性と効率性を確保するためのデータ形式へ変換することを指します。 一般的に第3正規形までで十分とされているため第3正規形までを取り上げます。 第1正規形 テーブルの行と列が交わる1つマスを「セル」と呼ぶことにします。 第1正規形の定義は「1つのセルには1つの値しか含まれない」です。 社員テーブル このように1つのセルに1つの値が含まれているとき、この値を「スカラ値」と言います。 社員テーブル(非正規形) 上のようなテーブルがあった場合、1人の社員は複数の子を養っているので、このように表現した
![データベースの正規化(第1〜第3正規形) - Wiz テックブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/9bd8f899c5c253978dd320eda6d3976d4f9cd094/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fw%2Fwiz012%2F20210331%2F20210331171106.jpg)