1NF: Eliminates repeating groups.
Make a separate table for each set of related attributes and give each table a primary key. Each field contains at least one value from its attribute domain.
2NF: Eliminates 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. All attributes must be directly dependent on the primary key. (Read More Here)
BCNF: Boyce-Codd Normal Form
If there are non-trivial dependencies between candidate key attributes, separate them out into distinct tables.
4NF: Isolates independent multiple relationships.
No table may contain two or more 1:n or n:m relationships which are not directly related.
5NF: Isolates semantically related multiple relationships.
There may be practical constraints 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 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.