단계별 정규형과 제약 조건

CODEDRAGON Development/Database

반응형


 

 

 

단계별 정규형과 제약 조건

·         단계별로 정규형이 만족해야 하는 제약조건과 정규화 방법에 차이가 있습니다.

·         4, 5정규형은 너무 복잡한 종속성을 고려해야 하고 릴레이션 수도 과도하게 많아질 있습니다. 일반적으로 보이스/코드 정규형까지만 고려하므로, 4, 5 정규형을 제외한 나머지 정규형에 대해 자세히 알아보겠습니다.

 

정규형 단계

제약 조건

정규화 방법

1 정규형(1NF)

모든 속성의 도메인이 원자 이어야 합니다.

·         다중치 속성 중복 속성을 분리 (다중치와 반복 그룹 제거)

·         나눌 있는 만큼 쪼갭니다.

2 정규형

(2NF)

모든 속성이 기본 키에 완전 함수적 종속이어야 합니다.

·         기본 키에 부분 함수적 종속인 속성을 분리 (부분 함수적 종속 제거)

·         테이블의 컬럼들이 기본키와 직접 연관되는 컬럼만으로 구성합니다.

3 정규형

(3NF)

속성들 간에 이행적 함수적 종속이 없어야 합니다.

·         이행적 함수적 종속인 속성을 분리 (이행적 함수적 종속 제거)

·         컬럼들 간의 종속관계가 있으면 안됩니다.

보이스/코드 정규형 (BCNF)

후보 키가 아닌 결정자가 없어야 합니다.

·         후보 키가 아니면서 결정자 역할을 하는 속성과 종속자를 분리

·         (모든 결정자가 후보 )

4 정규형 (4NF)

다치 종속(Multi-valued Dependency) 속성이 없어야 합니다.

·         다치 종속인 속성을 분리

5 정규형 (5NF)

조인 종속(Join Dependency) 속성이 없어야 합니다.

·         조인 종속인 속성을 분리