Spring 2012 DISC 210 Week 7

What is normalization?
Database normalization is the process of organizing the fields and tables of a relational database to minimize redundancy and dependency. Normalization usually involves dividing large tables into smaller (and less redundant) tables and defining relationships between them. The objective is to isolate data so that additions, deletions, and modifications of a field can be made in just one table and then propagated through the rest of the database via the defined relationships.

Edgar F. Codd, the inventor of the relational model, introduced the concept of normalization and what we now know as the First Normal Form (1NF) in 1970. Codd went on to define the Second Normal Form (2NF) and Third Normal Form (3NF) in 1971, and Codd and Raymond F. Boyce defined the Boyce-Codd Normal Form (BCNF) in 1974. Higher normal forms were defined by other theorists in subsequent years, the most recent being the Sixth Normal Form (6NF) introduced by Chris Date, Hugh Darwen, and Nikos Lorentzos in 2002.

Informally, a relational database table (the computerized representation of a relation) is often described as "normalized" if it is in the Third Normal Form. Most 3NF tables are free of insertion, update, and deletion anomalies, i.e. in most cases 3NF tables adhere to BCNF, 4NF, and 5NF (but typically not 6NF).

What are normal forms?
http://en.wikipedia.org/wiki/Database_normalization#Normal_forms

First Normal Form
http://en.wikipedia.org/wiki/First_normal_form

Second Normal Form
http://en.wikipedia.org/wiki/Second_normal_form

Third Normal Form
http://en.wikipedia.org/wiki/Third_normal_form

Tip: [Every] non-key [attribute] must provide a fact about the key, the whole key, and nothing but the key.

=References=