논리데이터베이스
Anomaly 이상 현상
- 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입/수정/삭제 연산을 수헹할 때 발생할 수 있는 부작용
- Normalization 정규화를 통해 이상현상을 제거
- 종류
- 삽입 이상
- 새 데이터를 삽입시 불필요한 데이터도 함께 삽입되는 문제
- 갱신 이상
- 중복 데이터 중 일부만 변경하여 데이터가 불일치하게 되는 모순의 문제
- 삭제 이상
- 데이터를 삭제시 꼭 필요한 데이터까지 함께 삭제되는 데이터 손실의 문제
- 삽입 이상
Normalization 정규화란?
- 중복성을 최소화하고 정보의 일관성을 보장하기 위한 개념
- 릴레이션을 관련 있는 속성들로만 구성되도록 릴레이션을 분해하는 과정
- 데이터 구조의 안정성을 최대로 함
- 중복을 배제하여 삽입, 삭제, 갱신 이상의 발생을 방지함
- 데이터 삽입 시 릴레이션을 재구성할 필요성을 줄임
- 논리적 설계 단계에서 수행
- 과정(아래 과정을 해야지 정규형이 됨)
- 비정규형
- 1NF
- 중복속성 제거
- 제1정규화
- 반복되는 속성이나 Group 속성 제거
- 2NF
- 부분종속성 제거
- 제2정규화
- 주 식별자에게 완전히 종속되지 않은 속성 제거
- 3NF
- 이행종속성 제거
- 제3정규화
- 비 식별자에 종속되는 속성 제거
- BCNF(보이스코드정규형)
- 후보키가 아닌 결정자 제거
- 4NF
- 다치종속성 제거
- 제4정규화
- 다시종속성 제거
- 5NF
- 조인종속성 제거
- 제5정규화
- 조인 종속성 제거
정규화 목적
- 데이터 중복 배제로 데이터 관리 편의성 제고 및 자료 저장 공간의 최소화
- 데이터 모형 단순화
- 데이터 구조의 안정성 및 무결성 유지
- 속성의 배열상태 검증
- 엔티티와 속성의 누락 여부 검증 수단
- 자료검색과 추출의 효율성 추구
정규화 특징
- 어떠한 관계구조가 바람직한 것인지, 바람직하지 못한 관계를 어떻게 분해하여야 하는지에 관한 구체적인 판단 기준을 제공
- 정규화된 데이터 모델은 정확성, 일치성, 단순성, 비중복성, 안전성 보장