Normalization in SQL organizes database data to eliminate redundancy and ensure logical dependencies. It decomposes tables into smaller ones through a multi-step process. The main types include First Normal Form (1NF), Second Normal Form (2NF), Third Normal Form (3NF), and Boyce-Codd Normal Form (BCNF). Its purposes are to remove repeated data and make data relationships logical. Without normalization, data anomalies occur, such as insertion anomalies, where adding new records like an employee without a department leads to null values and inefficiencies in large datasets.