
정규화란 논리적 설계 단계에서 발생할 수 있는 종속으로 인한 이상(Anomaly)현상의 문제점을 해결하기 위해, 속성들 간의 종속 관계를 분석하여 여러 개의 릴레이션으로 분해하는 과정을 말한다.
정규화된 결과를 정규형(Normal Form)이라고 하며 제1정규형, 제2정규형, 제3정규형, BCNF, 제4정규형, 제5정규형 등이 있다.

제1정규형(1NF)
모든 도메인이 원자값(Atomic Value)만으로 구성되도록 하는 정규형. 모든 도메인이 각각의 튜플로 구성되도록 분해하는 과정.
제2정규형(2NF)
1NF를 만족한 상태에서 릴레이션을 구성하는 모든 속성이 기본키에 완전 함수 종속이 되도록 분해(부분 함수 종속을 제거)하는 과정.
제3정규형(3NF)
2NF를 만족하면서 릴레이션을 구성하는 속성들 간에 이행적 함수 종속관계(A->B->C)를 분해하여 비이행적 함수종속이 되도록 하는 과정. 각 테이블이 기본키에 완전 함수 종속 관계로 유지.
보이스-코드 정규형(BCNF : Boyce-Codd Normal Form)
3NF를 만족하면서 릴레이션에서 모든 결정자가 후보키가 되도록 하는 과정. 결정자가 후보키가 아닌 경우 분해하는 과정.
제4정규형(4NF)
릴레이션에서 다치 종속(MVD : Multivalued Dependency)관계가 성립되는 경우 분해하는 정규형. 다치 종속은 함수 종속과 달리 하나의 속성값이 대응되는 속성의 집합(여러개의 속성값)을 결정하는 종속관계를 말하며, 릴레이션의 속성이 3개 이상일때 존재한다.
제5정규형(5NF)
릴레이션에 존재하는 조인종속(Join Dependency)이 후보키를 통해서만 성립이 되도록 하는 정규형. 조인 종속은 원래의 릴레이션을 분해한 뒤 자연 조인한 결과가 원래의 릴레이션과 같은 결과가 나오는 종속성을 말한다
