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


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.

  • 4
    -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


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

  • 5
    A database is said to be in n-NF if it is in (n-1)-NF and yadda, yadda, yadda – Sathyajith Bhat Jan 4 '11 at 5:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.