Eroxl's Notes
Database Normalization

Database normalization is the process of decomposing a relation schema into smaller schemas that satisfy a desired normal form while preserving the original information content.

The purpose of normalization is to eliminate update anomalies:

  • Insertion Anomaly: Inability to insert certain data without the presence of other unrelated data.
  • Deletion Anomaly: Unintended loss of data when deleting a tuple that contains the only copy of some fact.
  • Modification Anomaly: Inconsistency arising when a fact stored in multiple places is updated in one place but not in others.

Normalization Process

Normalization proceeds by analyzing the functional dependencies of a schema and applying decomposition to eliminate violations of the target normal form:

  1. Identify all functional dependencies that hold on the schema.
  2. Determine the candidate keys using the closure method.
  3. Check each FD against the conditions of the target normal form.
  4. For any violating FD, decompose the relation to remove the violation.