정규화(Normalization)란?

이상 현상(Anomaly)이란?

테이블을 분해하는 정규화 단계


제 1 정규화 (1NF)

릴레이션 스키마에서 정의된 모든 속성의 도메인이 원자값을 갖는 상태

테이블의 컬럼(Column, 열)이 원자 값(Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 것이다. 예를 들어, 아래와 같은 고객 취미 테이블이 있다고 존재한다.

Untitled

위의 테이블에서 추신수와 박세리는 여러 개의 취미를 가지고 있기 때문에 제 1 정규형을 만족하지 못한다. 그렇기 때문에 이를 제 1 정규화하여 분해할 수 있다.

Untitled

제 2 정규화 (2NF)

주어진 릴레이션의 인스턴스가 기본키가 아닌 속성들이 키본키에 완전히 종속되어 있는 상태