더북(TheBook)

8.1 정규화와 비정규화, 둘 간에 균형을 맞춘 검색

관계형 데이터베이스를 사용해보지 않았다면 정규화가 데이터 중복을 제거하는 것과 관련이 있다는 사실을 쉽게 추측하지 못할 것이다. 관계형 데이터베이스 설계 이론에 따르면 중복 데이터는 좋지 않거나 최소한 바람직하지 않은 것으로 취급되며 이상현상을 유발하는 원인이 된다.

이론적으로 보면 데이터 모델러는 데이터 이상현상의 유발 기회를 최소화하기 위해 중복을 제거하려 할 것이다. 알베르트 아인슈타인은 “이론적으로는 이론과 실제가 같지만, 실제로 이 둘은 다르다.”라고 말했다. 즉, 데이터 중복을 제거하는 정규화된 모델 때문에 관계형 데이터베이스의 성능이 나빠질 수 있다는 의미다. 그림 8-1에 나온 데이터 모델을 검토해 보자.

▲ 그림 8-1 정규화된 데이터베이스는 엔터티별로 독립된 테이블이 있다. 엔터티 데이터는 고립되어 있어 중복 데이터가 발생하지 않는다

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.