정보처리기사/데이터베이스 활용

정규화 단계(Normalization Steps)

glorypang 2025. 10. 4. 00:51
728x90
반응형
SMALL

1. 제1 정규형 (1NF: First Normal Form)

  • 조건: 속성의 도메인은 원자값(Atomic Value)이어야 한다.
  • 예시:
    회원(id, pw, 취미)에서 취미가 {독서, 운동, 음악} 같이 다중값 → 분리 필요
    → 회원 테이블과 취미 테이블로 나눠 1:N 관계로 설계

2. 제2 정규형 (2NF: Second Normal Form)

  • 조건: 부분 함수 종속 제거 (복합키에서만 발생)
  • 예시:
    성적(학번, 과목, 점수, 이름) 테이블이 있을 때,
    • (학번, 과목) → 점수
    • 학번 → 이름
      → 부분 함수 종속이 존재 → 테이블 분리 (학생, 성적 테이블로 분리)

3. 제3 정규형 (3NF: Third Normal Form)

  • 조건: 이행적 함수 종속 제거
  • 예시:
    학번 → 학과코드, 학과코드 → 학과명
    ⇒ 학번 → 학과명 (이행적 종속) 발생 → 분리 필요

4. BCNF (Boyce-Codd Normal Form)

  • 조건: 모든 결정자가 후보키여야 한다.
  • 예시:
    교수(교수ID, 과목, 강의실)에서
    • 교수ID → 과목
    • 과목 → 강의실
      ⇒ 결정자(과목)가 후보키가 아니므로 BCNF 위반 → 테이블 분리

5. 제4 정규형 (4NF: Fourth Normal Form)

  • 조건: 다치 종속(MVD) 제거
  • 예시:
    학생(학번, 동아리, 특기) 테이블에서
    • 학번 → 동아리
    • 학번 → 특기
      ⇒ 독립적인 다치 종속 발생 → 분리 필요

6. 제5 정규형 (5NF: Fifth Normal Form)

  • 조건: 조인 종속(Join Dependency) 제거
  • 예시:
    관계를 여러 테이블로 분해했다가 다시 조인할 때, 불필요한 중복이나 손실이 생기지 않도록 분해

요약

  • 정규화 핵심 흐름:
    • 1NF: 도메인 원자화 ()
    • 2NF: 부분 종속 제거 ()
    • 3NF: 이행 종속 제거 ()
    • BCNF: 결정자 후보키 아닌 것 제거 ()
    • 4NF: 다치 종속 제거 ()
    • 5NF: 조인 종속 제거 ()

728x90
반응형
LIST