如果它在4NF 中並且不包含任何連線依賴關係並且連線應該是無失真的,則關係在5NF 中。
當所有表都被分成盡可能多的表以便避免冗餘時,滿足5NF 。
5NF 也稱為專案連線正常形式(PJ/NF)。
範例 -
SUBJECT | LECTURER | SEMESTER |
---|---|---|
Computer | Anshika | Semester 1 |
Computer | John | Semester 1 |
Math | John | Semester 1 |
Math | Akash | Semester 2 |
Chemistry | Praveen | Semester 1 |
在上表中,John
為第一學期提供計算機和數學課程,但他沒有學習第二學期的數學課程。在這種情況下,需要組合所有這些欄位來識別有效資料。
假設新增了一個新學期:第3學期,但不知道科目以及由哪個講師來講該科目,因此將講師(Lecturer)和科目(Subject)留為NULL
。 但是這三個列要組合在一起充當主鍵,因此不能將其他兩列留空(NULL
)。
因此,為了使上表成為5NF ,可以將它分解為三個關係P1
,P2
和P3
:
P1 表 -
SEMESTER | SUBJECT |
---|---|
Semester 1 | Computer |
Semester 1 | Math |
Semester 1 | Chemistry |
Semester 2 | Math |
P2 表 -
SUBJECT | LECTURER |
---|---|
Computer | Anshika |
Computer | John |
Math | John |
Math | Akash |
Chemistry | Praveen |
P3 表 -
SEMSTER | LECTURER |
---|---|
Semester 1 | Anshika |
Semester 1 | John |
Semester 1 | John |
Semester 2 | Akash |
Semester 1 | Praveen |