- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

A relation R is in 4NF if it is in BCNF and there is no non-trivial multivalued dependency.

For a dependency A->B, if for a single value of A, multiple values of B exist, then the relation will be a multi-valued dependency.

Consider the following table

Regno | Phoneno | Qualification |
---|---|---|

1 | P1 | Diploma |

1 | P1 | B.Tech |

1 | P1 | M.Tech |

1 | P2 | Diploma |

1 | P2 | B.Tech |

1 | P2 | M.Tech |

Here,

regno->-> phoneno

regno->-> qualification.

Both are non trivial MVD

The given relation is in BCNF [since no functional dependency exists]. But the above table is not in 4NF [since there is a non trivial MVD].

**It also suffers with anomalies which are as follows −**

Insertion anomaly: If we want to insert a new phoneno for regno3 then we have to insert 3 rows, because for each phoneno we have stored all three combinations of qualification.

Deletion anomaly: If we want to delete the qualification diploma, then we have to delete it in more than one place.

Updation anomaly: If we want to update the qualification diploma to IT, then we have to update in more than one place.

If R(XYZP) has X->->Y and X->->Z then, R is decomposed to R1(XY) and R2(XZP).

=> R(regno, phoneno, qualification) is decomposed to R1(regno, phoneno) and R2(regno, qualification).

**R1**

Regno | Phoneno |
---|---|

1 | P1 |

1 | P2 |

**R2**

Regno | Qualification |
---|---|

1 | Diploma |

1 | B.Tech |

1 | M.Tech |

All the anomalies discussed above are removed. The above two relations are in 4NF.

Now, regno->->phoneno is trivial MVD (since {regno} U {phoneno}=R1)

=>R1 is in 4NF.

Regno->-> qualification is trivial MVD (since {regno} U {qualification} =R2)

=> R2 is in 4NF.

- Related Questions & Answers
- What is Decomposition in DBMS?
- What is RAID in DBMS?
- Fourth Normal Form (4NF)
- What is a database(dbms)?
- What is Multivalued Dependency (DBMS)?
- What is an instance in DBMS?
- What is Hierarchical model in DBMS?
- What is functional dependency in DBMS?
- What is Data Independence in DBMS?
- What is Transitive dependency in DBMS?
- What is multivalued dependency in DBMS?
- What is heuristic optimization in DBMS?
- What is concurrency control in DBMS?
- What is shadow paging in DBMS?
- What is clustering Index in DBMS?

Advertisements