원래 정규화란 중복성을 최소화하고 정보의 일관성을 보장하기 위한 관계형 데이터 베이스에서 제일 중요한 개념인데요
제1정규화는 
여러 값을 가진 컬럼이 존재할 수 없다. 즉 반복되는 그룹이 존재해서는 안 된다. 각 행과 열에는 하나의 값만이 올수 있다.
예를 들면
고객번호(P.K) 고객명  취미       
1                   이윤호영화 여행
2                   이민호  등산
이런 테이블이 있을수는 없고 이걸 수정한다면
고객번호(P.K)  고객명 
1                    이윤호 
2                    이민호  하고 또하나
고객번호(P.K) 일련번호(P.K) 취미
1                   1                   영화
1                   2                   여행
2                   1                   등산
이런식으로 두개로 분리해야 한다는거죠
제2정규화
모든키가 아닌 컬럼은 기본 키 전체에 의존적이여야 한다. 기본키의 일부분에 의존적이어서는 안 된다.
예를 들어
사번(p.k)    프로젝트번호(p.k)   부서   프로젝트역할   고과율
1                a                         전산    팀장               A
1                b                         전산    조원               C
1                c                         전산    부팀장            B
2                c                         경리    팀장               A
3                c                         기획    팀장               A
이 테이블의 기본키는 사번과 프로젝트번호인데 부서 컬럼은 사번에만 의존적이다.
이것은 2정규화를 거치면
사번(p.k) 프로젝트번호(p.k) 프로젝트역할 고과율
1             a                        팀장             A
1             b                        조원             C
1             c                        부팀장          B
2             c                        팀장             A
3             c                        팀장             A
요렇게 하고 부서 테이블을 다시 따로 때네서
사번   부서
1        전산
2        경리
3        기획
요렇게 해서 릴레이션을 걸면 됩니다.
제3정규화
키가아닌 컬럼은, 다른 키가 아닌 컬럼에 의존적일어서는 안된다.
예를 들어
사번(p.k) 프로젝트번호(p.k) 프로젝트역할 고과율
1            a                        팀장              A
1            b                        조원              C
1            c                        부팀장           B
2            c                        팀장              A
3            c                        팀장              A
요 테이블을 다시 보면 고과율은 프로젝트 역할에 의존적인걸 알수 있습니다.
이것을 또 3정규화 거치면
사번(p.k) 프로젝트번호(p.k) 프로젝트역할 
1             a                        팀장 
1             b                        조원 
1             c                        부팀장 
2             c                        팀장 
3             c                        팀장 
프로젝트역할   고과율
팀장               A
조원               C
부팀장            B
요렇게 또 따로 때네줘야 합니다
BCNF 정규화는
3정규형에서 BCNF 
비결정자에 의한 함수종속을 제거해서 분해된 BCNF
결과적으로 모든 속성들이 후보키로서 사용이 가능한 형태로 분해됩니다.
다시 말해 분해된 테이블의 모든 결정자들이 후보키이면
BCNF
제4정규화는
2정규화 된 테이블은 다대다 관계를 가질수 없다.
이건 따로 예를 안들어도 되겠죠?ㅋㅋ
제5정규화는 실무에서 정말 안쓴다고 알고 있습니다.