Take the 2-minute tour ×

For example, a database that is 3NF is always 1NF and 2NF; does this hold for 4, 5, and 6?

share|improve this question

3 Answers 3

up vote 4 down vote accepted

It depends. In theory, yes, though in practice, databases can diverge over time

Normalization is the process of insuring that the tables in the database follow the rules of the various normal forms in order to reduce or eliminate database anomalies.

First Normal Form: Table faithfully represents a relation and has no repeating groups. Foo (Name varchar2, Addresses varchar2) would violate 1NF in multiple ways. It has no way to guarantee uniqueness, (No primary key) and addresses holds multiple values.

However, if one got a database to third normal form, denormalization for performance reasons (an excellent decision, so long as the denormalization is documented) may violate prior normal forms without violating the specific rules of subsequent ones. Furthermore, updates over time may (most likely) add multiple-attribute columns due to carelessness or ignorance on the part of the developer. Thus, while a normalized database is possible, carelessness may break part of the normalization but leave the remainder intact. This completely violates normalization under the theory, but practically violates only a specific normal form.

share|improve this answer
-1 The only correct answer to this question is "Yes" as per the other 2 answers. No need to try and complicate the issue. It is a very straight forward matter of definition. –  Martin Smith Dec 4 '11 at 15:50

1NF ⊂ 2NF ⊂ 3NF ⊂ BCNF ⊂ 4NF ⊂ 5NF ⊂ 6NF

alt text

share|improve this answer

Yes, that's the way it's defined.

share|improve this answer
A database is said to be in n-NF if it is in (n-1)-NF and yadda, yadda, yadda –  Sathya Jan 4 '11 at 5:09

Your Answer


