1 Normal Forms
Gytis Repečka edited this page 2026-08-18 10:32:22 +03:00

Normal forms are rules to expose dependencies in order to avoid redundant information and resulting anomalies. It enhances data integrity through progressive constraints.

A normalized model contains:

  • Entities - sets of information objects of one type;
  • Attributes - features describing object;
  • Relationships - binary connections describing relation between entities.

Unnormalized Normal Form (UNF)

Object is in arbitrary (unnormalized) form. Data may contain repeating groups and multi-valued attributes.

First Normal Form (1NF)

All attribute values in an object are atomic - no sets, lists, or repetitive groups within the individual attributes are permitted.

  • Repeating groups are eliminated (each and every attribute within an entity instance cannot hold multiple values);
  • Each record must be unique.

Second Normal Form (2NF)

2NF requires that the entity must conform to the 1NF rules. Each non-key attribute within an entity is fully functionally dependent upon the entire key (key attributes) of the entity, not a subset of the key - that is, partial dependencies are eliminated.

Redundant data across multiple rows must be moved to separate ("bridge") object.

  • Conforms to 1NF;
  • Partial dependencies are eliminated.

Third Normal Form (3NF)

In addition to 2NF requirements, 3NF eliminates transitive dependencies - that is, non-key attributes must depend only on the Primary Key and not on other non-key attributes.

  • Conforms to 2NF;
  • Eliminate attributes that do not depend on the Primary Key.

Data model that is in 3NF can be used to answer ad-hoc (previously unknown) questions.

Boyce-Codd Normal Form (BCNF or 3.5NF)

It is a slightly stricter version of 3NF.

  • Redundancies are removed based on functional dependencies

Fourth Normal Form (4NF)

4NF does not permit multiple true and distinct multivalued dependencies within one object.

  • No multivalued dependencies.

Fifth Normal Form (5NF)

An object is in the 5NF if it can be arbitrarily split and then reconstructed into the original table with join operators. This property is commonly called lossless join dependency. An object is therefore in 5NF when it meets the criterion of lossless join dependency.

  • Only trivial join dependency.

Other forms

In addition to those mentioned above, there are more Normal Forms defined.