CS 03 RDBMS 정규화

이상인·2023년 9월 4일
0

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

  • RDBMS의 정규화는 데이터베이스 설계 프로세스에서
  1. 중복을 최소화
  2. 데이터의 일관성
  3. 무결성
    을 유지하기 위해 데이터를 구조화하는 과정.
    정규화는 데이터베이스의 성능, 관리, 유지보수 측면에서 중요한 역할을 합니다.
  • 제1 정규형 (1NF):
    각 테이블의 모든 속성 값은 원자적이어야 합니다. 즉, 더 이상 나눌 수 없는 단위여야 합니다.
    중복된 데이터를 피하고, 각 열은 하나의 값만을 가지도록 합니다.

  • 제2 정규형 (2NF):
    1NF를 만족하면서, 부분적 종속을 제거해야 합니다.
    기본키가 아닌 모든 속성이 기본키에 완전히 종속되어야 합니다.

  • 제3 정규형 (3NF):
    2NF를 만족하면서, 이행적 함수 종속을 제거해야 합니다.
    어떤 비기본키 속성이 다른 비기본키 속성에 종속되면 안 됩니다.

  • 보이스-코드 정규형 (BCNF):
    3NF를 만족하면서, 모든 결정자가 후보키여야 합니다.
    즉, 모든 함수 종속 관계에서 결정자는 후보키에 속해야 합니다.

  • 제4 정규형 (4NF):
    다치 종속을 제거합니다.
    어떤 다치 종속 관계가 없도록 합니다.

  • 제5 정규형 (5NF) 또는 프로젝션-조인 정규형 (PJNF):
    다중값 종속 관계를 제거합니다.
    데이터의 중복을 방지하기 위해 프로젝션(분해)과 조인을 사용하여 설계합니다.


풀어쓰기

정규화는 데이터베이스를 정리하고 깔끔하게 만드는 방법입니다.

  • 제1 정규형 (1NF):
    각 테이블의 모든 속성 값은 원자적이어야 한다.

  • 제2 정규형 (2NF):
    1NF를 만족하면서, 부분적 종속을 제거해야 합니다.
    기본키가 아닌 모든 속성이 기본키에 완전히 종속되어야 합니다.

  • 제3 정규형 (3NF):
    2NF를 만족하면서, 이행적 함수 종속을 제거해야 합니다.
    어떤 비기본키 속성이 다른 비기본키 속성에 종속되면 안 됩니다.

  • 보이스-코드 정규형 (BCNF):
    한 가지 정보로만 이루어진 열을 기준으로 데이터를 분리합니다. 중복을 최대한 줄입니다.
    // 3NF를 만족하면서, 모든 결정자가 후보키여야 합니다.
    즉, 모든 함수 종속 관계에서 결정자는 후보키에 속해야 합니다.

  • 제4 정규형 (4NF):
    다치 종속을 제거합니다.
    어떤 다치 종속 관계가 없도록 합니다.
    // 이상한 관계를 없애서 데이터가 깔끔하게 나뉘어지도록 합니다. 이렇게 하면 정보를 찾거나 업데이트하기가 더 편리해집니다.

  • 제5 정규형 (5NF) 또는 프로젝션-조인 정규형 (PJNF):
    다중값 종속 관계를 제거합니다.
    데이터의 중복을 방지하기 위해 프로젝션(분해)과 조인을 사용하여 설계합니다.

하지만 너무 복잡하게 하면 오히려 데이터를 찾기가 어려워질 수 있습니다.
어느 정도의 정규화 수준을 선택하는 것도 중요한 판단입니다.

0개의 댓글