如果它是Boyce Codd正規化,並且沒有多值依賴關係,那麼關係將是4NF。
對於依賴性A→B
,如果對於單個A
值,存在多個B
值,則該關係將是多值依賴性。
範例
STUDENT 表結構和資料如下 -
STU_ID | COURSE | HOBBY |
---|---|---|
21 | Computer | Dancing |
21 | Math | Singing |
34 | Chemistry | Dancing |
74 | Biology | Cricket |
59 | Physics | Hockey |
上面給定的STUDENT
表是符合3NF
,但COURSE
和HOBBY
是兩個獨立的實體。因此,COURSE
和HOBBY
之間沒有關係。
在學生關係中,一個學生的STU_ID
是21
,它有兩門課程,計算機和數學以及兩個愛好,舞蹈和歌唱。 因此,對STU_ID
存在多值依賴性,這導致不必要的資料重複。
因此,要將上表轉換為4NF ,我們可以將其分解為兩個表:
STUDENT_COURSE 表的結構和資料 -
STU_ID | COURSE |
---|---|
21 | Computer |
21 | Math |
34 | Chemistry |
74 | Biology |
59 | Physics |
STUDENT_HOBBY 表的結構和資料 -
STU_ID | HOBBY |
---|---|
21 | Dancing |
21 | Singing |
34 | Dancing |
74 | Cricket |
59 | Hockey |