Jump to content

Database normalization

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Stephen Gilbert (talk | contribs) at 16:34, 12 October 2001 (FOLDOC import, slightly edited). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Database normalization is a series of steps followed to obtain a database design that allows for efficient access and storage of data in a relational database. These steps reduce data redundancy and the chances of data becoming inconsistent.

A table in a relational database is said to be in normal form if it satisfies certain constraints. Codd's original work defined three such forms but there are now five generally accepted steps of normalization.

First Normal Form eliminates repeating groups by putting each into a separate table and connecting them with a one-to-many relationship.

Second Normal Form eliminates functional dependencies on a partial key by putting the fields in a separate table from those that are dependent on the whole key.

Third Normal Form eliminates functional dependencies on non-key fields by putting them in a separate table. At this stage, all non-key fields are dependent on the key, the whole key and nothing but the key.

Fourth Normal Form separates independent multi-valued facts stored in one table into separate tables.

Fifth Normal Form breaks out data redundancy that is not covered by any of the previous normal forms.

See also: database, relational database


Based on material from FOLDOC, used with permission.