본문 바로가기
Learning/DB SQL 가이드

DB 모델링 - 3. 정규화 : 3.1 정규화

by Pronician 2015. 10. 25.
반응형

3. 정규화

 

3.1 정규화

 

정규화란(Nomalization)?

   ▶ 정규화는 속성 간의 부정확한 종속성을 없애는 것을 의미

   ▶ 함수종속 개념 기반으로 유사한 속성들은 모으고 종속성이 없는 독립적인 속성들은 분리하는 것

   ▶ 관계형 데이터 모델은, 속성의 종석성과 의존성을 분석해 더는 분해될 수 없는 엔터티로 만드는 정규화 과정을 거쳐야 함

   ▶ 반정규화는 반드시 정규형은 거쳐야 진행 가능

 

아노말리 현상

   ▶ 정규형은 아노말리 현상을 최소화 함

   ▶ 아노말리는 데이터 이상 현상으로 업데이트, 삭제, 삽입 아노말리 등이 존재

   ▶ 데이터 중복은 아노말리를 발생시키고, 중복이 없는 정규형은 아노말리를 최소화 함

 

모델 구조

   ▶ 관계형 데이터베이스는 모델이 잘 구현되어 있을 경우, 데이터를 가장 효율적으로 저장하고 추출해 사용할 수 있음

   ▶ 반대로 구조가 잘못 되었을 경우, 성능과 무결성 그리고 유지보수 측면에서 심각한 문제 발생

 

정규화 vs 비정규화

   ▶ 정규화

      ■ 실제 업무를 가장 잘 반영할 수 있음

      ■ 간결하게 구성되어 더욱 직관적으로 이해할 수 있음

      ■ 확장성이 용이

   ▶ 비정규화

      ■ 특정 어플리케이션 성능을 위해 비정규화를 채택하기도 함

반응형

댓글