학습
🗄️데이터베이스 구축반드시

정규화

1NF 원자값 · 2NF 부분 함수 종속 제거 · 3NF 이행 종속 제거 · BCNF 결정자가 후보키.

1NF: 모든 속성의 값이 원자값이어야 한다(반복되는 그룹을 없앤다).

2NF: 1NF 이면서 기본키가 아닌 속성이 기본키 전체에 완전 함수 종속이어야 한다(부분 함수 종속 제거).

3NF: 2NF 이면서 이행적 함수 종속이 없어야 한다(A→B, B→C 이면 A→C 인 상태를 없앤다).

BCNF: 모든 결정자가 후보키여야 한다.

4NF 는 다치 종속, 5NF 는 조인 종속을 다룬다.

정규화하면 이상(Anomaly) 현상이 줄지만 조인이 늘어 성능은 떨어질 수 있다. 그래서 일부러 되돌리는 것이 반정규화다.

외울 것

1NF원자값
2NF부분 함수 종속 제거
3NF이행 함수 종속 제거
BCNF결정자가 모두 후보키

바꿔 내는 짝

2NF3NF

2NF 는 '부분' 종속, 3NF 는 '이행' 종속을 없앤다. 부분은 복합키의 일부에만 붙는 것, 이행은 다리를 건너 붙는 것이다.

시험에는 이렇게

'부분 함수 종속을 제거하면 몇 정규형인가?' → 2NF. 단계와 제거 대상을 짝짓는 문제가 매회 나오고, 실기 단답형으로도 나온다.

실기에도 나오는 개념입니다. 실기는 고르는 것이 아니라 적으므로 용어를 글자 그대로 외워 두세요.

확인 문제

이 개념은 실기에도 4문항 나옵니다. 고르는 것과 적는 것은 다르니 실기 탭에서 손으로도 한 번 적어 보세요.