Data normalization is a technique used during logical data modeling to ensure that there is only one way to know a fact, by removing all structures that provide more than one way to know the same fact as represented in a database relation (table). There are six generally recognized normal forms of a relation: first normal form, second normal form, third normal form, Boyce/Codd normal form, fourth normal form, and fifth normal form, also called projection/join normal form. Other normal forms (e.g., Domain/Key) exist but will not be discussed here. The normal forms are hierarchical, i.e., each normal form builds upon its predecessor. Although many people consider a relation to be normalized only when it is in third normal form, technically speaking, a relation in only first normal form can be considered normalized. The following definitions represent the rules used in normalization to check database relations: Functional dependency Functional dependency analysis is a tool for logically organizing related attributes and for determining a relation's primary key. Functional dependency analysis is the main tool for constructing normalized relations. Functional dependence is defined as: For any relation R, attribute A is fully functionally dependent on attribute B if, for every valid instance, the value of B determines the value of A. Multivalued dependency Multivalued dependencies can occur when the attributes within a relation are not logically related to each other. Date's "formal" definition says: Let R be a relation, and let A, B, and C be arbitrary subsets of the set of attributes of R. We then say that A multidetermines B only if one of the set of B values match a given (A, C) pair in R and depends only on the A value and is not dependent on the C value. Trivial dependency A dependency is trivial if the functionally determined attribute is a subset of the functionally determining attributes. For instance,...

Data normalization is a technique used during logical data modeling to ensure that there is only one way to know a fact, by removing all structures that provide more than one way to know the same fact as represented in a database relation (table). There are six generally recognized normal forms of a relation: first normal form, second normal form, third normal form, Boyce/Codd normal form, fourth normal form, and fifth normal form, also called projection/join normal form. Other normal forms (e.g., Domain/Key) exist but will not be discussed here. The normal forms are hierarchical, i.e., each normal form builds upon its predecessor. Although many people consider a relation to be normalized only when it is in third normal form, technically speaking, a relation in only first normal form can be considered normalized. The following definitions represent the rules used in normalization to check database relations: Functional dependency Functional dependency analysis is a tool for logically organizing related attributes and for determining a relation's primary key. Functional dependency analysis is the main tool for constructing normalized relations. Functional dependence is defined as: For any relation R, attribute A is fully functionally dependent on attribute B if, for every valid instance, the value of B determines the value of A. Multivalued dependency Multivalued dependencies can occur when the attributes within a relation are not logically related to each other. Date's "formal" definition says: Let R be a relation, and let A, B, and C be arbitrary subsets of the set of attributes of R. We then say that A multidetermines B only if one of the set of B values match a given (A, C) pair in R and depends only on the A value and is not dependent on the C value. Trivial dependency A dependency is trivial if the functionally determined attribute is a subset of the functionally determining attributes. For instance,...