정규화가 꼭 좋은건가?
- 정규화는 관계형 데이터베이스 설계에서 데이터 중복을 줄이고 데이터 무결성을 개선하기 위해 데이터를 정규형에 맞도록 구조화하는 프로세스를 뜻 함
- 데이터베이스 정규화의 목표는 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는것에 있음
- 이 정의에 따르면 인덱스 없이 조회 성능을 올리는 방법 한 answerCnt 칼럼 추가는 데이터 중복을 발생시킴
- answer table로 개수를 구할 수 있기 때문
- 또한 answerCnt 칼럼과 answer 로 구하는 개수가 불일치하는, 무결성이 깨지는 문제가 발생할 수 도 있다
- 하지만 그럼에도 불구하고 약간의 불일치를 감수해도 집계용 컬럼을 추가하는게 틀린건아니다
- 사용자에게 큰 문제가 안되기 때문이다
- 게다가 정확한 값은 언제든지 구할 수 있다
이처럼 유연하게 정규화와 비정규화를 택하여 쓰면된다. 요구사항에 맞도록...