8/9 RDBMSテーブルの正規化について

経緯

ある企業の面接において下記のような質問を受けて

上手な回答をすることができなかったのでまとめてみました。

「データベースの正規化について簡単に説明してください」

「正規化によるメリットとデメリットをそれぞれ説明してください」

面接では「テーブル構造の重複をなくし整理する。。」みたいな

結構あいまいな回答をしてしまい非常に後悔しました。

 

参照サイト

第4回 データベースの正規化|OSS-DB入門|OSS-DB道場|受験対策|DBスペシャリストを認定する資格 OSS-DB技術者認定試験

できるエンジニアになる! ちょい上DB術・基礎編(7):【DB概論】正規化の手順 (1/2) - @IT

わかったこと

第3正規形までは何とか説明できるようになった。

第1正規形

繰り返し項目をそれぞれ別項目に独立させる

非正規系は帳票の状態でそれを表にするのが第1正規化。

(例)

キャンペーンエントリー履歴一覧画面

第2正規形

複合主キーとなる項目の一部に完全従属する項目を別テーブルに分離させる。

分解したテーブルに外部ーを加える。

(例)

「キャンペーンエントリー履歴」の主キーは

キャンペーンIDと会員IDとすると、それぞれ別テーブルに分離させて

キャンペーンエントリー履歴テーブルには外部キー、エントリー時間のみが残る。

第3正規形

すべての複合主キー以外の項目で関係従属関係にある項目を別テーブルに分離させる

(例)

キャンペーンテーブルには「所属会社」、「住所」が含まれているが

「広告主」が決まれば「住所」も確定するので別テーブルに分離。

これから勉強すること

ボイスコッド正規化

第4正規形

第5正規系