It is a process of analyzing the given relation schemas based on their functional dependencies and primary keys to achieve the following desirable properties:

  1. Minimizing Redundancy
  2. Minimizing the Insertion, Deletion, And Update Anomalies

Relation schemas that do not meet the properties are decomposed into smaller relation schemas that could meet desirable properties.