Red > Green > Refactor > Red

cycle is based on desire

3NF ; Design

Definition

リレーション R が

  • 第二正規形であること
  • 全ての非キー属性(non-key attribute)は、いかなる候補キー(candidate key)にも推移的関数従属していない
    • (非キー属性が、候補キー以外の属性に完全関数従属していない)

Objective

将来的にデータモデルを変更しやすくすること

Ex.

[社員番号] 社員名 給与 所属 勤務地
001 80 技術課 広島
002 75 営業課 東京
003 70 人事課 愛知

所属 が 勤務地に 完全関数従属しているので、非キー属性が候補キーに推移的関数従属している

 \textit{At non candidate key : } belongs \rightarrow workplace

第3正規化する

社員テーブル

[社員番号] 社員名 給与 所属
001 80 技術課
002 75 営業課
003 70 人事課

所属テーブル

[所属] 勤務地
技術課 広島
営業課 東京
人事課 愛知

引用元 # 勉強になりました

第3正規形 初心者用データベース入門