DBMS第二正規化(2NF)


第二正規化(2NF)中,首先關係必須是1NF
在第二正規化(2NF)中,所有非關鍵屬性都完全依賴於主鍵。

範例: 假設學校儲存教師和教授科目資訊相關的資料。 在學校裡,教師可以教授多個科目。

老師(TEACHER)表的結構和資料如下 -

TEACHER_ID SUBJECT TEACHER_AGE
25 Chemistry 30
25 Biology 30
47 English 35
83 Math 38
83 Computer 38

在給定的表中,非主要屬性TEACHER_AGE依賴於TEACHER_ID(TEACHER_ID列有兩個83的值,同樣對應的TEACHER_AGE屬性的值都是38 ),它是候選鍵的適當子集。 這就是它違反2NF規則的原因。

要將給定的表轉換為2NF,我們將其分解為兩個表:

TEACHER_DETAIL 表的結構和資料如下 -

TEACHER_ID TEACHER_AGE
25 30
47 35
83 38

TEACHER_SUBJECT 表的結構和資料如下 -

TEACHER_ID SUBJECT
25 Chemistry
25 Biology
47 English
83 Math
83 Computer