2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

[백엔드] 기술 면접 Top30 - #3 RDBMS의 정규화

2023. 9. 5. 12:00ㆍ[백엔드] 기술면접
반응형

RDBMS의 정규화

 

 

RDBMS 정규화란

  • 관계형 데이터베이스 관리 시스템의 정규화로 데이터베이스 설계 프로세스에서 중복 데이터를 최소화하고
  • 무결성을 유지하기 위한 중요한 단계 중 하나입니다.
  • 정규화는 데이터를 여러 테이블로 나누고 관련성 있는 데이터를 효율적으로 저장하기 위한 규칙을 제공합니다.
  • 주요 목표는 데이터 중복을 최소화하고 데이터 이상 현상을 방지하는 것 입니다.

위키 백과 - 데이터베이스 정규화

 

관계형 데이터베이스의 정규화 단계

 

1. 1차 정규화 ( First Normal Form - 1NF )

  • 모든 테이블은 원자적인 값으로 구성되어야 합니다.
  • 각 열의 값이 더 이상 나눌 수 없는 최소한의 단위여야 함을 의미합니다.
  • 하나의 열에 여러 값을 저장하거나 배열 형태로 저장하는 것은 허용되지 않습니다.

2. 2차 정규화 ( Second Normal Form - 2NF )

  • 1차 정규화를 충족해야 합니다.
  • 부분 함수 종속성을 제거해야 합니다. - 모든 비요 속성이 주요 속성에 대해서만 종속되어야 합니다.

3. 3차 정규화 ( Third Normal Form - 3NF )

  • 2차 정규화를 충족해야 합니다.
  • 이행적 종속성을 제거해야 합니다.
  • 하나의 열이 다른열을 결정하는 경우, 중간 열을 새로운 테이블로 분리하여 정규화되어야 합니다.

4. 보충적인 정규화 

  • 필요에 따라 4차, 5차 등 더 높은 정규화 수준이 요구될  수 있습니다.
  • 이러한 단계는 특정 데이터 모델 및 요구사항에 따라 달라지게 됩니다.

 

요약

정규화는 RDBMS에서 데이터 중복을 줄이고 데이터 무결성을 보장하기 위한 과정으로,
 1차, 2차, 3차 정규화를 통해 수행됩니다. 
이를 통해 데이터 관리와 유지 보수가 향상되지만, 
지나치게 정규화된 데이터베이스는 성능 문제를 야기할 수 있으므로 적절한 수준을 선택해야 합니다.
반응형