DB/SQL

반정규화 기법

씩씩한 IT블로그 2022. 2. 18. 12:16
반응형

계산된 컬럼 추가

- 총 판매액, 평균잔고, 계좌 평가 등을 미리 계산하고, 결과를 특정 칼럼에 추가

 

테이블 수직 분할

- 하나의 테이블을 두 개 이상의 테이블로 분할하여 새로운 테이블을 만드는 것.

 

테이블 수평 분할

- 하나의 테이블에 있는 값을 기준으로 테이블을 분할하는 방법

 

테이블 병합

- 1:1관계의 테이블을 하나의 테이블로 병합하여 성능 향상

- 1:N관계의 테이블을 병합하여 성능을 향상시킨다.

- 슈퍼 타입과 서브 타입 관계가 발생하면, 테이블을 통합하여 성능을 향상시킨다

    * 슈퍼타입, 서브타입

        1. 고객 엔티티(슈퍼타입)는 개인고객(서브타입)과 법인 고객(서브타입)으로 분류

        2. 베타적관계는 서브엔티티중 하나만(고객은 개인고객이거나 법인고객 둘중 하나만 될 수 있음), 포괄적 관계는 서브엔티티에 중복으로 (개인고객이면서 법인고객이 될 수 있음) 될 수 있는 것을 의미

        3. 슈퍼타입과 서브타입 변환 방법으로는 onetonoe Type(슈퍼타입과 서브타입 개별 테이블로 도출, 조인 많이 발생, 관리어려움), plus type(슈퍼 타입과 서브타입 테이블로 도출, 조인이 발생, 관리가 어렵움), single type(슈퍼 타입과 서브타입 하나의 테이블로 도출, 조인 좋고 관리편함, io성능나쁨)

 

반응형