RDBMS의 정규화에 대해 설명해주세요

코코·2023년 10월 24일
0

기술면접 준비

목록 보기
23/42

RDBMS(관계형 데이터베이스 관리 시스템)의 정규화는 데이터베이스 설계에서 중복을 제거하고 데이터 중복을 최소화하여 데이터베이스를 보다 효율적으로 설계하는 과정입니다.

  • 이를 통해 데이터의 일관성, 유지보수성, 확장성 등을 개선할 수 있습니다. 정규화는 Codd에 의해 개발된 관계 데이터 모델의 이론적 원리에 근거하여 이루어집니다. 주요 목표는 이상 현상(anomalies)을 최소화하고 데이터베이스의 유효성을 유지하는 것입니다.

정규화는 일반적으로 다음과 같은 단계로 이루어집니다.

  • 제 1 정규화(1NF): 각 테이블이 하나의 원자 값으로만 구성되도록 합니다. 즉, 각 열에는 중복되는 필드가 없어야 합니다.

  • 제 2 정규화(2NF): 부분 함수 종속을 제거합니다. 기본 키가 아닌 모든 속성이 기본 키에 완전 함수 종속되어야 합니다.

  • 제 3 정규화(3NF): 이행적 함수 종속을 제거합니다. 모든 비기본 속성이 기본 키에 이행적으로 종속되지 않아야 합니다.

  • BCNF(Boyce-Codd 정규화 형태): 모든 결정자가 후보 키여야 합니다. 이를 통해 제 3 정규화에서 발생할 수 있는 이상 현상을 방지합니다.

이외에도 제 4 정규화(4NF)와 제 5 정규화(5NF) 등이 있으나, 일반적으로 3NF 또는 BCNF까지 정규화를 수행하는 경우가 많습니다.

정규화 과정을 통해 중복된 데이터를 제거하고 이상 현상을 방지하여 데이터베이스의 구조를 최적화할 수 있습니다. 그러나 과도한 정규화는 성능 저하를 일으킬 수 있으므로 적절한 수준에서의 정규화가 필요합니다.

profile
Just Do It

0개의 댓글