PHP/Elixirエンジニアのブログ

有益なアウトプットを心がけます。

DBの正規化

第一正規化

目的はレーブル内データの重複を無くす事である。
データに重複が存在しなくなるまでテーブルを分割する。
完了した状態を 第一正規形 と呼ぶ。

 第二正規化

目的はテーブル内の主キー列以外の列の値が、必ず主キーによって決まるようにすることである。
主キー以外の項目に従属して変化するような項目は、別のテーブルに分割する。

ex. ブログのカテゴリを別テーブルに切り出してつくる

完了した状態を 第二正規形 と呼ぶ。

 第三正規化

目的はテーブル内の主キー列以外の列の値が、 主キーのみ によって決まるようにすることである。

ex. 郵便番号と住所を別テーブルに分ける(住所は郵便番号に従属している)

完了した状態を 第三正規形 と呼ぶ。