구버전/CS Study

[Careerthon] 정규화의 필요성과 과정

고래강이 2023. 11. 15. 11:54

정규화

관계형데이터베이스 데이터 모델의 중복을 최소화하고 일관성과 유연성 확보를 위한 목적으로 데이터를 분해하는 과정이다.

정규화를 통해서 테이블 간의 중복된 데이터를 최소화하고 무결성을 유지하고 DB의 저장용량을 줄일 수 있다.

제1정규화에서 모든 도메인이 원자값으로만 되어 있도록 설계한다.

왼쪽에서 오른쪽으로 바뀐다(1NF)

제2정규화에서 테이블의 모든 컬럼이 완전 함수적 종속을 만족하게 만든다.

2NF

제3정규화에서 기본키가 아닌 속성들은 기본키에만 의존하도록 바꾼다

3NF

BCNF단계에서 결정자 중 후보키가 아닌 것을 제거한다

이후 다치종속을 제거하는 제4정규형과 조인종속성을 제거하는 제5정규형단계가 있겠다.