1. 반정규화
정규화된 엔티티타입, 속성, 관계를 시스템의 성능향상, 개발 운영의 단순화를 위해 모델을 통합하는 프로세스
<정규화>
장점: 모든 엔티티타입, 속성, 관계가 반드시 한 개만 존재하므로 데이터 값이 변질되거나 이질화 될 가능성이 없다.
단점 : 여러 테이블이 생성되어야 하므로 SQL 작성이 용이하지 않고 과다한 테이블 조인이 발생해 성능이 저하될 가능성이 높다.
<반정규화>
장점: 여러 개의 테이블이 단순해져서 SQL 작성이 용이하고 성능이 향상된다.
단점 : 같은 데이터가 여러 테이블에 걸쳐 존재하므로 무결성이 깨질 수 있다.
2. 테이블 반정규화
- 1:1 관계의 테이블 병합
- 1:N 관계의 테이블 병합
- 수퍼/ 서브 타입 테이블 병합
- 수직 분할 (컬럼)
- 수평 분할 (행)
- 테이블 추가
3. 컬럼 반정규화
- 자주 조회하는 컬럼은 중복컬럼 추가
- 파생 컬럼 추가
- PK 컬럼 추가
- 시스템 오작동 컬럼 추가
4. 관계 반정규화
중복 관계 추가하여 조회 경로를 단축