Certificate/정보처리기사

[3과목 데이터베이스 구축] 논리 데이터베이스 설계 - 088. ⭐ 정규화(Normalization)

S_sun 2024. 12. 5. 15:26
  • 함수적 종속성 등의 종속성 이론을 이용해 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정
  • 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정
  • 제1정규형, 제2정규형, 제3정규형, BCNF형, 제4정규형, 제5정규형
  • 차수가 높아질수록 만족시켜야 할 제약 조건이 늘어남
  • 논리적 설계 단계에서 수행
  • 논리적 처리 및 품질에 큰 영향
  • 일관성, 정확성, 단순성, 비중복성, 안정성 등을 보장
  • 정규화 수준이 높을수록 유연한 데이터 구축 가능, 데이터의 정확성 높아짐
    • 물리적 접근이 복잡하고 너무 많은 조인으로 인해 조회 성능 저하

1. 정규화의 목적

  • 데이터 구조의 안정성 및 무결성 유지
  • 효과적인 검색 알고리즘 생성
  • 데이터 중복 배제하여 이상(Anomaly)의 발생 방지
  • 자료 저장 공간 최소화
  • 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄임
  • 단순화 가능
  • 속성의 배열 상태 검증 가능
  • 개체와 속성의 누락 여부 확인 가능
  • 자료 검색과 추출의 효율성 추구

2. 이상(Anomaly)의 개념 및 종류

  • 데이터들이 불필요하게 중복되어 릴레이션 조작 시 얘기치 못한 현상이 발생하는 것
  • 삽입 이상(Insertion Anomaly)
    • 데이터 삽입 시 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 형식
  • 삭제 이상(Deletion Anomaly)
    • 한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄가 일어나는 현상
  • 갱신 이상(Update Anomaly)
    • 튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상

3. 정규화의 원칙

  • 정보의 무손실 : 하나의 스키마를 다른 스키마로 변환할 때 정보의 손실이 있으면 안됨
  • 분리의 원칙 : 하나의 독립된 관계성은 하나의 독립된 릴레이션으로 분시시켜 표현
  • 데이터의 중복성이 감소되어야 함

4. ⭐ 정규화 과정

1) 1NF(제1정규화)

  • 모든 도메인이 원자값(Atomic Value)만으로 되어 있는 정규형
  • 모든 속성 값이 원자 값으로만 되어 있는 정규형
  • 릴레이션의 모든 속성이 단순 영역에서 정의

2) 2NF(제2정규화)

  • 1NF에서 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형
  • 함수적 종속(Functional Dependency)
  • 데이터들이 어떤 기준값에 의해 종속되는 것
ex)
수강 릴레이션이 (학번, 이름, 과목명)으로 되어 있을 때, 학번이 결정되면 과목명에 상관없이 학번에는 항상 같은 이름이 대응됨
학번에 따라 이름이 결정될 때 이름은 학번에 함수 종속적
학번 → 이름
  • 완전 함수적 종속
    • 속성 A가 다른 속성 집합 B 전체에 대해 함수적 종속이지만 속성 집합 B의 어떠한 진부분집합 C(즉, C ⊂ B)에는 함수적 종속이 아닐 때, 속성 A는 속성 집합 B에 완전 함수적 종속
  • 부분 함수적 종속
    • 속성 A가 다른 속성 집합 B 전체에 대해 함수적 종속이면서 속성 집합 B의 어떠한 진부분 집합에도 함수적 종속일 때, 속성 A는 속성 집합 B에 부분 함수적 종속

3) 3NF(제3정규화)

  • 2NF에서 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않은 정규형
    • 이행적 종속 : A → B, B → C 일때, A → C
  • 무손실 조인 또는 종속성 보존을 저해하지 않고도 항상 3NF 설계를 얻을 수 있음

4) BCNF (Boyce-Codd 정규형) = 강한 제3정규형

  • 결정자가 모두 후보키인 정규형
    • 결정자 : 속성 간의 종속성을 규명할 때 기준이 되는 값
    • 종속자 : 결정자의 값에 의해 정해지는 값
  • 3NF에서 후보키가 여러 개 존재하고 서로 중첩되는 경우 적용
  • 모든 BCNF가 종속성을 보존하는 것은 아님
  • BCNF의 제약 조건
    • 키가 아닌 모든 속성은 각 키에 대하여 완전 종속해야 함
    • 키가 아닌 모든 속성은 부분적으로 들어가 있지 않은 모든 키에 대하여 완전 종속해야 함
    • 어떤 속성도 키가 아닌 속성에 대해서는 완전 종속할 수 없음

5) 4NF(제4정규형)

  • 다치종속 A ->> B가 성립하는 경우 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형
    • 다치종속(Multi Valued Dependency) : A, B, C 3개의 속성을 가진 릴레이션 R에서 어떤 복합 속성(A, C)에 대응하는 B값의 집합이 A값에만 종속되고 C값에는 무관하면, B는 A에 다치 종속이라 함

6) 5NF(제5정규형)

모든 조인 종속이 후보키를 통해서만 성립되는 정규형

⭐ 정규화 과정 정리 ⭐

메인이 원자값

분적 함수 종속 제거

행적 함수 종속 제거

정자이면서 후보키가 아닌 것 제거

치 종속 제거

인 종속성 이용

 

 

📖 Reference
 

2023 시나공 정보처리기사 필기 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 

728x90
반응형