데이터베이스 정규화

2019. 5. 17. 22:50정보처리 산업기사/데이터베이스

반응형

데이터베이스 정규화

데이터베이스 정규화 과정

정규화의 개요

  • 함수적 종속성 등의 종속성 이론을 이용하여 잘못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정이다.
  • 정규형에는 제1정규형, 제2정규형, 제3정규형, BCNF형, 제4정규형, 제5정규형이 있으며, 차수가 높아질 수록 만족시켜야 할 제약 조건이 늘어난다.
  • 정규화는 데이터베이스의 개념적 설계 단계와 논리적 설계 단계에서 수행한다.
  • 정규화는 논리적 처리 및 품질에 큰 영향을 미친다.

 

 

정규화를 하는 이유

한 릴레이션에 여러 속성을 혼합하게 되면 중복된 자료가 저장이 되며 공간을 낭비하게 된다. 동시에 중복된 정보로 인해 갱신 오류가 발생하는 건 덤. 정확성이 떨어지는 데이터로 변질되는데, 이 문제를 해결하기 위한 조치가 정규화 과정을 거치는 것이다.

  • 데이터 구조의 안정성을 최대화.
  • 어떠한 릴레이션이라도 데이터베이스 내에서 표현 가능하게 만듬.
  • 효과적인 검색 알고리즘을 생성할 수 있음.
  • 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지.
  • 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄임.

 

 

정규화의 원칙

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

 

 정규화를 거치지 않음으로써 발생하는 갱신 이상의 종류 

삽입 이상(Insertion Anomaly)
릴레이션에 데이터를 삽입할 때, 원하지 않은 데이터가 삽입된다든지, 자료가 부족해 삽입이 되지 않은 문제점.

삭제 이상(Deletion Anomaly)
릴레이션에서 한 튜플을 삭제할 때, 원하지 않은 데이터가 삭제 되거나 관계된 값들도 함께 삭제되는 연쇄 삭제 현상.

갱신 이상(Update Anomaly)
릴레이션에서 튜플에 있는 속성값을 갱신할 때, 일부 튜플의 정보만 갱신이 되어 일관성이 없어지는 현상.
반응형