- 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 | コンピューター |