정규화란 ?
데이터의 중복성의 제거하여 여러 엔티티의 조인이 발생하는 데이터베이스 환경에서 성능을 향상시키기 위한 데이터 구조화 프로세스
정규화의 방법
- 낮은 차수의 정규화를 만족한 상태로 높은 차수의 정규화를 진행
정규화 단계
1) 제1정규화
- 중복되는 컬럼제거
2) 제2정규화
- 종속되는 값 제거
3) 제3정규화
- 엔티티(테이블명)에 맞는 데이터로 분리
반정규화란 ?
정규화로 인해서 테이블의 수가 증가하게 되면, 다수의 JOIN이 발생함에 따라 성능 저하가 발생할 수 있다. 이 문제를 해결하고자 정규화 과정이 모두 마무리 한 다음 반정규화를 실시한다. 단, 테이블을 합치는 것만이 반정규화는 아니다.
- 그룹에 대한 합계 같은 값을 미리 계산하여 테이블에 저장 ( 기존 테이블을 Sum 하여 확인하지 않고 별도의 통계 테이블 생성 )
- 하나의 테이블에서 자주 사용되는 행(레코드)과 그렇지 않은 행들을 분리
- 자주 JOIN하여 사용하는 컬럼을 중복제거하여 하나의 테이블로 생성
'RDBMS' 카테고리의 다른 글
조인 종류 및 수행원리 (0) | 2017.05.31 |
---|---|
트랜잭션 정리 (0) | 2017.05.12 |