Skip to main content

정규화

· 3 min read

정규화의 개념

  • 이상현상을 야기하는 속성 간의 종속관계를 제거하기 위해 릴레이션을 여러 작은 릴레이션으로 무손실분해하는 과정
  • 이상현상제거, 안정성확보, 자료 불일치성 최소화, 중복제거로 인한 저장공간 효율화

정규화의 절차, 함수종속성, 이상현상

도부이결다조

정규화의 절차

구분절차비고
제1정규형원자값이 아닌 도메인 분해데이터 중복 높음 / Join 적음 / 결합성 낮음
제2정규형부분함수 종속성 제거-
제3정규형이행함수 종속성 제거-
BCNF정규형결정자가 후보키가 아닌 함수종속 제거-
제4정규형다중값 종속성 제거-
제5정규형조인 종속성 제거데이터 중복 낮음 / Join 많음 / 결합성 높음
  • 무손실 분해와 하수적 종속성 제거를 통한 이상현상 제거

함수 종속성

  • 데이터들이 어떠한 기준 값에 의해 항상 종속되는 현상
  • 종속자는 결정자에 하수적 종속성을 가짐, X->Y

이상현상 개념, 유형

이상현상의 개념

  • 릴레이션의 데이터 중복관리로 인해 데이터 조작시 발생하는 의도치 않은 결과를 초래하는 비합리적 현상

이상현상의 유형

구분내용Anomaly
삽입이상릴렐이션 내 하나의 튜플 삽입시 원하지 않은 추가 데이터 삽입Insertion
삭제이상릴레이션 내 하나의 튜플 삭제시 유지되어야할 정보까지 연쇄 삭제Deletion
갱신이상중복 튜플 중 일부를 업데이트할 때 정보의 모순성 발생Update

정규화시 고려사항

  • 정규화 진행시 테이블과 Join 수가 많아지므로, DX(개발자 경험) 향상을 위해 역정규화 과정도 필요함.