정규화(Normalization)-정의, 목적, 특징, 유형, 정규화 수준에 따른 장단점

CODEDRAGON Development/Database

반응형

 

 

 

정규화(Normalization)

·       정의

·       목적

·       특징

·       유형

·       정규화 수준에 따른 장단점

 


 

 

 

정규화 정의

중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념

 

 

 

정규화 목적

·       데이터 중복 배제로 데이터 관리 편의성 제고 및 자료 저장 공간의 최소화

·       데이터 모형 단순화

·       데이터 구조의 안정성 및 무결성 유지

·       속성의 배열상태 검증

·       엔터티와 속성의 누락 여부 검증 수단

·       자료검색과 추출의 효율성을 추구

 

 

 

정규화 특징

·       어떠한 관계구조가 바람직한 것인지, 바람직하지 못한 관계를 어떻게 분해하여야 하는지에 관한 구체적인 판단기준을 제공

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

 

 

 

정규화 유형

유형 설명
1정규화 ·       반복되는 속성이나 Group 속성 제거
·       새로운 실체와 1:N의 관계 추가
·       모든 속성은 반드시 하나의 값을 가져야 함(반복형태가 있어서는 안됩니다)
2정규화 ·       주식별자에 완전하게 종속되지 않는 속성 제거
·       불완전 함수적 종속(Non Fully Dependency) 제거
·       모든 속성은 반드시 UID 전부에 종속되어야 함(UID일부에만 종속되어서는 안됩니다)
3정규화 ·       비식별자에 종속되는 속성 제거
·       주식별자에 이행종속(Transitive Dependency) 되는 속성 제거
·       UID가 아닌 모든 속성 간에는 서로 종속될 수 없음(속성간 종속성 배제)
4정규화 ·       실제로 거의 고려되지 않는 정규화
·       주식별자에 다가종속(Multi-Valued Dependency)되는 속성을 두가지 이상 두지 않음
·       2차 정규화된 테이블은 다대다 관계를 가질 수 없음
·       어떠한 관계구조가 바람직한 것인지, 바람직하지 못한 관계를 어떻게 분해하여야 하는지에 관한 구체적인 판단기준을 제공

 

 

 

 

정규화 수준에 따른 장단점

정규화 수준이 높을수록, 장점/단점

장점 ·       유연한 데이터 구축이 가능
·       데이터의 정확성 높아짐
단점 ·       물리적 접근이 복잡
·       길이가 짧은 데이터 생성으로 과도한 조인 발생