正規化 〜テーブルにおける正規化〜

正規化というのは、様々な要素から構成されているテーブルを分離させてしまう事 

大まかな流れ

繰り返しを排除 → 従属を排除

 

第1正規化:繰り返し項目をなくす

第2正規化:主キーの一部によって一意に決まる項目を別表に移す

第3正規化:主キー以外の項目によって一意に決まる項目を別表に移す。

※主キー…テーブル内のレコードを一意に判別するための識別子となるカラム。多くの場合idカラムが主キーとなる。ユニークかつNotNull。

複数のカラムで一つの主キーとなることもある。主キー全体に従属することを完全関数従属といい、主キーの一部に従属することを部分関数従属という。

 

参考:

データの正規化<データベース<情報技術の基礎<Web教材<木暮

 

 

第一正規化

f:id:mnverdiego:20180212130840p:plain

f:id:mnverdiego:20180211215050p:plain

繰り返しを排除している?

 

第二正規化

第二正規化は、主キーに部分従属している属性を分離する作業

f:id:mnverdiego:20180211215118p:plain

 

第三正規化

第三正規化は、テーブル内にある推移従属関係を分離して、どのテーブルであってもすべての属性が主キーに対して完全従属であるテーブルにする

f:id:mnverdiego:20180211215135p:plain