반응형
3. 정규화
3.1 정규화
정규화란(Nomalization)?
▶ 정규화는 속성 간의 부정확한 종속성을 없애는 것을 의미
▶ 함수종속 개념 기반으로 유사한 속성들은 모으고 종속성이 없는 독립적인 속성들은 분리하는 것
▶ 관계형 데이터 모델은, 속성의 종석성과 의존성을 분석해 더는 분해될 수 없는 엔터티로 만드는 정규화 과정을 거쳐야 함
▶ 반정규화는 반드시 정규형은 거쳐야 진행 가능
아노말리 현상
▶ 정규형은 아노말리 현상을 최소화 함
▶ 아노말리는 데이터 이상 현상으로 업데이트, 삭제, 삽입 아노말리 등이 존재
▶ 데이터 중복은 아노말리를 발생시키고, 중복이 없는 정규형은 아노말리를 최소화 함
모델 구조
▶ 관계형 데이터베이스는 모델이 잘 구현되어 있을 경우, 데이터를 가장 효율적으로 저장하고 추출해 사용할 수 있음
▶ 반대로 구조가 잘못 되었을 경우, 성능과 무결성 그리고 유지보수 측면에서 심각한 문제 발생
정규화 vs 비정규화
▶ 정규화
■ 실제 업무를 가장 잘 반영할 수 있음
■ 간결하게 구성되어 더욱 직관적으로 이해할 수 있음
■ 확장성이 용이
▶ 비정규화
■ 특정 어플리케이션 성능을 위해 비정규화를 채택하기도 함
반응형
'Learning > DB SQL 가이드' 카테고리의 다른 글
DB 모델링 - 3. 정규화 : 3.3 아노말리 (0) | 2015.10.25 |
---|---|
DB 모델링 - 3. 정규화 : 3.2 정규화의 목적 (0) | 2015.10.25 |
DB 모델링 - 2. 개념 모델 & 논리 모델 & 물리 모델 : 2.3 물리 모델 (0) | 2015.10.25 |
DB 모델링 - 2. 개념 모델 & 논리 모델 & 물리 모델 : 2.2 논리 모델 (0) | 2015.10.25 |
DB 모델링 - 2. 개념 모델 & 논리 모델 & 물리 모델 : 2.1 개념 모델 (0) | 2015.10.25 |
댓글