- 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

# Check which FD violates 3NF in a given relation and decompose R into 3NF(DBMS)

A relation is in 3NF when it is in 2NF and there is no transitive dependency or a relation is in 3NF when it is in 2NF and all non-key attributes directly depend on candidate key.

Third normal form (3NF) is the third step in normalizing a database and it builds on the first and second normal forms, 1NF and 2NF.

3NF states that all column references in referenced data that are not dependent on the primary key should be removed. Another way of putting this is that only foreign key columns should be used to reference another table, and no other columns from the parent table should exist in the referenced table.

## Problem

For a given relation R(ABCDE) and F: {A->C, B->DE, D->C}, check which FD violates 3NF and decompose R into 3NF.

## Solution

Given F: {A->C, B->DE, D->C}

A+= AC => A is not candidate key

B+= BDEC => B is not candidate key

D+= DC => D is not candidate key

AB+=ACBDE => AB is candidate key

=> Key attribute =A,B and non-key attribute =C,D,E.

A->C violates 3NF [since A->C is transitive dependency]

B->DE violates 3NF [since B->DE is transitive dependency]

D->C violates 3NF [since D->C is transitive dependency].

**3NF decomposition is as follows −**

**We consider FDs which violates 3NF −**

For A->C R(ABCDE0 decomposed to R1(AC) and R2(ABDE).

For B->DE R2(ABDE) decomposes to R3(BDEC) and R4(AB).

For D->C R3(BDEC) decomposes to R5(DC) and R6(BDE).

=>3NF decomposition of relation R is R1(AC) , R4(AB), R5(DC), R6(BDE).

- Related Questions & Answers
- Check which FD violates 2NF in the given relation and decompose R into 2NF
- Explain 3NF with an example in DBMS
- Difference Between 3NF and BCNF
- Third Normal Form (3NF)
- What are integrity constraints over the relation in DBMS?
- How to decompose a time series with trend and seasonal components using loess method in R?
- Find nth term of a given recurrence relation in Python
- Find nth term of a given recurrence relation in C++
- Check the view serializability for the given schedules(DBMS)
- Check if the given schedules are view serializable(DBMS)
- Find the canonical cover of FD {A->BC, B->AC, C->AB} in DBMS
- Check which element in a masked array is greater than a given value
- How to check which packages are loaded in R?
- How to check which element of a list which is a logical list is TRUE in R?
- How to check which list element contains a particular value in R?