Normalization (3NF)

Piyush Kulkarni
2 min readMar 21, 2022

We examined conditions for 2 NF in the last post. Let’s move on to 3 NF, also known as Boyce-Code form.

Here identifying transitive dependency is vital.

Logical Inconsistency

Although the table is already in 2 NF but still there is a possibility of anomaly. A person of age 5 can either be in Small or Medium age group. Otherwise, it’s a logical inconsistency.

That’s why usually it’s recommended to keep the database at least in 3 NF form. Higher forms are rarely observed in practice.

Age group actually depends directly on age. The primary key attribute name is not determining the age group.

{ Name } ⤍ { Age } ⤍ { Age group }

This is the transitive dependency and it violates the 3 NF.

3 NF Rule: The data has to be in 2 NF and every attribute should depend only on Key Attribute.

How would a 3 NF look like?

Make sure to remove all the transitive dependencies.

3 NF

Now data complies with 2 NF as well as 3 NF.

Let’s go through 4 NF & 5 NF the next time.

Writer: Piyush Kulkarni

--

--