如果它在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 |
上一篇:
DBMS第四範式(4NF)
下一篇:
DBMS關係分解
