Normalization is the process of organizing data in a database to minimize redundancy and dependency. There are several normal forms that were developed to classify how data should be structured, including first normal form (1NF), second normal form (2NF), and third normal form (3NF). 1NF requires each attribute to hold a single value and no repeating groups, 2NF adds that non-key attributes depend on the whole primary key, and 3NF extends this to eliminate transitive dependencies between non-key attributes. Normalization improves data integrity and efficiency of updates while denormalization improves query performance by duplicating some data.