728x90
- 정규화(Normalization)
- 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정
- 테이블 R에서 일부 속성들로만 추출하여 만든 테이블 R1, R2가 Natural Join을 통해 원래의 테이블 R로 정보 손실 없이 복귀할 수 있는 경우 R은 R1, R2로 무손실 분해 되었다고 한다.
- 테이블의 속성들이 상호 종속적인 관계를 갖는 특성을 이용하여 테이블을 무손실 분해하는 과정
- 정규화의 목적
- 가능한 중복(Redundancy)을 제거하여 삽입, 삭제, 갱신 이상(anomaly) 가능성 줄이기!
- 정규화의 종류(단계)
- 비정규 릴레이션
- 제1 정규형:1NF
- 테이블 R에 속한 모든 속성의 도메인(Domain)이 원자값(Atomic Value)로만 구성된 정규형이다. 테이블의 속성값이 원자 값만으로 되어 있는 정규형
- 제2 정규형:2NF
- 테이블 R이 제 1정규형이고, 기본키(PK)가 아닌 모든 속성이 기본키(PK)에 대해 완전 함수적 종속을 만족하는 정규형 즉, 부분적 함수 종속을 제거한 정규형
- 제3 정규형:3NF
- 테이블 R이 제2 정규형이고 기본키(PK)가 아닌 모든 속성이 기본키에 대해 이행적 함수적 종속을 만족하지 않는 정규형
- 이행적 함수 종속(Transitive Functional Dependency)
- A → B 이고 B → C 일 때 A → C 를 만족하는 관계
- 이행적 함수 종속(Transitive Functional Dependency)
- 실무에서 가장 많이 요구되는 정규형 단계
- 테이블 R이 제2 정규형이고 기본키(PK)가 아닌 모든 속성이 기본키에 대해 이행적 함수적 종속을 만족하지 않는 정규형
- BCNF
- 제4 정규형:4NF
- 제5 정규형:5NF
728x90