Tuesday, February 12, 2008

Normalize life

1NF Eliminate Repeating Groups -
Make a separate table for each set of related attributes, and give each table a primary key.

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

3NF Eliminate Columns Not Dependent On Key -
If attributes do not contribute to a description of the key, remove them to a separate table.

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

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

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

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

DKNF Domain-Key Normal Form -
a model free from all modification anomalies.


http://support.microsoft.com/kb/283878