출처: http://blog.naver.com/ngldevilsun?Redirect=Log&logNo=100092625936
- 데이터의 중복을 방지, 효율적인 데이터 저장
-> 논리적으로 작은 단위의 테이블로 분리되어진다.
제 1 정규화
- 반복되는 속성이나 그룹 속성을 제거하고 새로운 실체를 추가한뒤 기존의
실제와 1:N의 관계를 형성한다.
제2 정규화
- 복합키로 구성된 경우 해당 테이블 안의 모든 컬럼들은 복합키 전체에
의존적이어야한다.
만일 복합키 일부에 의존적인 컬럼이 존재한다면 제거해야한다.
복합키가 아닌 경우 제 2 정규화의 대상이 되지 않는다.
N:M 관계
학생 | - 동아리등록 |- 동아리
-학번 | ~ 동아리코드(FK), 학번(FK) | - 동아리 코드
이름, | 등록일자 | 동아리명
주민번호,| 등록사유 | 설립취지
전화번호,| | 설립일자
.....
제3 정규화
- 한테이블 안의 모든 키가 아닌 컬럼들은 기본키(Primary Key)에 의존해야한다.
만일 키가 아닌 컬럼에 종속되는 속성이 존재한다면 이를 제거해야한다.
* 정규화는 순서적으로 하는것이 절대 아니다
1차 정규화에 위배할 경우 정규화함
2차 정규화를 위배하지 않을 경우 할 필요가 없다.