← 질문 목록
#170깊이 0
데이터베이스 정규화를 수행하는 이유는 무엇인가?
데이터 중복을 최소화하여 데이터 무결성을 유지하고 이상 현상을 방지하기 때문이다.
| 기준 | 정규화 전 | 정규화 후 |
|---|---|---|
| 데이터 중복 | 많음 | 적음 |
| 삽입/삭제/수정 이상 | 발생 가능 | 방지 가능 |
| 조회 성능 | 단순 조인 없음 | 조인 필요 |
정규화를 하지 않으면 동일한 정보가 여러 곳에 저장된다. 이로 인해 데이터를 수정할 때 일부만 수정되어 데이터 간 불일치가 발생하는 수정 이상이 생긴다.
또한, 관련된 정보가 함께 저장되어 필요 없는 정보까지 함께 삽입하거나 삭제해야 하는 삽입 및 삭제 이상이 발생한다.
과도한 정규화는 조회 시 많은 조인(Join) 연산을 유도하여 성능 저하를 일으킨다. 성능 향상을 위해 일부러 정규화를 푸는 역정규화 과정을 거치기도 한다.