RDBMS에서 정규화란 테이블간의 중복 데이터를 최소화하는 전략을 말한다.
정규화는 중복 데이터를 별도의 테이블로 분리하는 1차 정규화, 복합키와 관련 칼럼을 종속 테이블로 분리하는 2차 정규화 등 여러 단계가 있는데 상황에 맞게 각 단계의 정규화 프로세스를 적용할 수 있다.
정규화를 수행하면 데이터의 중복성을 줄이고 무결성을 보장할 수 있지만, 그만큼 테이블간의 관계가 복잡해지기 때문에 적절한 정규화 단계를 적용하는것이 중요하다.
정규화와 대비되는 개념으로는 중복 데이터를 허용해 성능 향상을 기대하는 개념인 반정규화가 있다. 실제 현업에서도 성능을 고려해 중복데이터를 적절하게 허용한다고 한다.