정규화는 데이터를 분해하는 과정으로 데이터 중복, 데이터 유연성 및 일관성, 정보의 품질 향상등을 위한 것이다.
정규화를 진행하면 중복된 데이터가 제거되고, 테이블이 분해된다.
정규화를 한다면 데이터 조회를 할 때 join이 많이 일어나기에 메모리와 CPU를 많이 사용한다.
정규화의 문제점을 해결하기 위해 반정규화를 이용!!
반정규화는 데이터베이스에서의 조회 속도를 향상시키기 위한 것이다.
하지만 데이터 모델의 유연성이 떨어진다.
속도가 느려졌을때, 많은 범위를 처리해야할 때 등등 반정규화를 수행하게 된다.
칼럼을 미리 계산해서 추가한다.
테이블 수직 분할
하나의 테이블을 2개 이상으로 분할하는 것.
테이블 수평 분할
하나의 테이블에 있는 값을 기준으로 분할