3-1 067 정규화(Normalization) [A]

이지우·2024년 5월 9일
0

정보처리기사

목록 보기
55/68

정규화의 개요

중복성을 최소화하고 일관성 등을 보장하여 데이터베이스의 품질을 보장하고 성능을 향상시킴

  • 함수적 종속성 등의 종속성 이론을 이용함

  • 잘못 설계된 관계형 스키마를 쪼개어 바람직한 스키마로 만듦

  • 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해해가는 과정

  • 논리적 설계 단계에서 수행

  • 논리적 처리 및 품질에 큰 영향을 미침

  • 정규화된 데이터 모델은 일관성, 정확성, 단순성, 비중복성, 안정성 보장

  • 제1정규형, 제2정규형, 제3정규형, BCNF형, 제4정규형, 제5정규형 (차수가 높아질수록 만족시켜야할 제약조건이 늘어남)

  • 수준이 높아질수록 유연한 데이터 구축이 가능하고 데이터의 정확성이 높아지지만 물리적 접근이 복잡하고 너무 많은 조인으로 조회 성능 저하됨


정규화의 목적

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

이상(Anomaly)

정규화를 거치지 않으면 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못한 곤란한 현상 발생하는 것

  • 삽입 이상(Insertion Anomaly)

  • 삭제 이상(Deletion Anomaly)

  • 갱신 이상(Update Anomaly)


정규화 과정

1NF(제1정규형)

모든 도메인(Domain)이 원자값(Atomic Value)만으로 되어있는 정규형

  • 모든 속성 값이 원자 값으로만 되어 있는 정규형
  • 모든 속성이 단순 영역에서 정의됨


2NF(제2정규형)

릴레이션 R이 1NF이고, 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속 만족하는 정규형


3NF(제3정규형)

릴레이션 R이 2NF이고, 기본케가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형

  • 무손실 조인 또는 종속성 보존을 저해하지 않고도 항상 3NF설계를 얻을 수 있음


BCNF(Boyce-Codd 정규형)

릴레이션 R에서 결정자가 모두 후보키(Candidate Key)인 정규형

  • 3NF에서 후보키가 여러 개 존재하고 서로 중첩되는 경우에 적용
  • 강한 제3정규형이라고도 함
  • 모든 BCNF가 종속성을 보존하는 것은 아님

제약 조건

  • 각 키에 대해서 완전 종속해야 함
  • 자신이 부분적으로 들어가 있지 않은 모든 키에 대하여 완전 종속해야함
  • 키가 아닌 속성에 대해서는 완전 종속할 수 없음


제4정규형

다중값 종속(MVD;Multi Valued Dependency)이 존재할 경우 R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형


제5정규형

조인할 때 원래 데이터로 돌아가야하는데 세개로 쪼갤 수 밖에 없을 때는 안됨
조인종속성을 갖는 속성들이 후보키가 아닐 때 문제가 생김

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

profile
노력형 인간

0개의 댓글