What are different normalization forms?

Posted by

To view Verified answers click on the button below.

1. 1NF: Eliminate Repeating Groups Make a separate table for each set of related
attributes, and give each table a primary key. Each field contains at most one value
from its attribute domain.

2. 2NF: Eliminate Redundant Data If an attribute depends on only part of a multivalued key, remove it to a separate table.

3. 3NF: Eliminate Columns Not Dependent On Key If attributes do not contribute to
a description of the key, remove them to a separate table. All attributes must be
directly dependent on the primary key.

4. BCNF: Boyce-Codd Normal Form If there are non-trivial dependencies between
candidate key attributes, separate them out into distinct tables.

5. 4NF: Isolate Independent Multiple Relationships No table may contain two or
more 1:n or n:m relationships that are not directly related.

6. 5NF: Isolate Semantically Related Multiple Relationships There may be practical
constrains on information that justify separating logically related many-to-many

7. ONF: Optimal Normal Form A model limited to only simple (elemental) facts, as
expressed in Object Role Model notation.

8. DKNF: Domain-Key Normal Form A model free from all modification anomalies is
said to be in DKNF.

Remember, these normalization guidelines are cumulative. For a database to be in 3NF, it
must first fulfill all the criteria of a 2NF and 1NF database.