logo

第 2 正規形 (2NF)

  • 2NF では、リレーショナルは 1NF になければなりません。
  • 第 2 正規形では、すべての非キー属性は主キーに依存して完全に機能します。

例: 学校が教師とその教師が教える科目のデータを保存できると仮定します。学校では、教師は複数の科目を教えることができます。

教師テーブル

教師_ID 主題 先生_年齢
25 化学 30
25 生物学 30
47 英語 35
83 数学 38
83 コンピューター 38

指定されたテーブルでは、非プライム属性 TEACHER_AGE は、候補キーの適切なサブセットである TEACHER_ID に依存しています。そのため、2NF のルールに違反します。

SQLでランダムに並べる

指定されたテーブルを 2NF に変換するには、それを 2 つのテーブルに分解します。

TEACHER_DETAIL テーブル:

教師_ID 先生_年齢
25 30
47 35
83 38

TEACHER_SUBJECT テーブル:

教師_ID 主題
25 化学
25 生物学
47 英語
83 数学
83 コンピューター