normal forms

views updated

normal forms
1. A term applied to a relation (table) in a relational database. A table is said to be in first normal form if it conforms to the constraint of the relational model that each entry is an elementary data item. In defining further normal forms the concept of functional dependency is used. This concept is quite distinct from that of function since it requires the context of relation for its definition. A functional dependency thus exists only within a particular relation.

Given two attributes A and B of a relation, then B is functionally dependent on A if whenever any two tuples (rows) of the relation have the same value for A, they will necessarily also have the same value for B. Notationally this is written AB, often colloquially expressed as “A determines B”. This definition is readily generalized to the case where A and B are arbitrary subsets of attributes, which is the definition used in the theoretical development. A logical consequence of the definition is that if the values of a particular attribute in a relation are necessarily all distinct (e.g. if it is a key) then all other attributes of the relation are functionally dependent on it, and similarly for a set of attributes (e.g. a compound key).

A relation is in second normal form if it has a single attribute that can serve as a key or, if having a compound key, all other attributes are functionally dependent on the whole of the key and not just part of it. A relation is in third normal form if it contains no functional dependencies among its nonkey attributes. The concepts of second and third normal form are widely understood and used in practical database design, the functional dependencies usually being a reflection within the tables of real-world functions that exist in the application domain.

Further normal forms, less used in practice, are Boyce–Codd, fourth and fifth. Fourth normal form also uses the concept of multivalued dependency and fifth normal form that of join dependency.

2. See abstract reduction system.