상세 컨텐츠

본문 제목

[SQLD] 슈퍼/서브 타입 데이터 모델의 변환 기술

SQL

by Wanderer Kim 2023. 3. 8. 23:18

본문

728x90

슈퍼/서브타입(논리)를 슈퍼타입(물리)으로 변환

  • 논리 데이터 모델의 슈퍼/서브 타입을 물리 데이터 모델로 변환 시 슈퍼타입으로 변환하는 것은 슈퍼/서브타입 전체를 하나의 테이블로 구성하는 것을 뜻한다.
  • 슈퍼/서브 타입의 데이터를 처리 시 항상 통합하여 처리한다고 가정하면 하나의 테이블로 구성하는 것이 성능 상 유리할 수 있다.
  • 데이터를 처리할 때 항상 통합하여 처리하는데 개별로 분리하게 되면 조인 연산 혹은 UNION ALL 연산 등이 빈번해져서 오히려 성능에 부담을 줄 수 있기 때문이다.
  • 이러한 경우 하나의 테이블로 통합하여 테이블을 구축한다. 슈퍼/서브타입을 슈퍼타입으로 변환하는 기법이다.

슈퍼/서브타입(논리)을 서브타입(물리)으로 변환

  • 슈퍼/서브 타입의 데이터 처리 시 10만건인 대리인에 대해서 개별로 처리하는 일이 빈번하다고 가정한다.
  • 만약 슈퍼타입(물리)으로 변환하여 하나의 테이블로 구성하였다면 10만건인 대리인의 데이터를 처리하기 위해서 이해관계인 및 매수인의 데이터까지 모두 처리해야 한다.
  • 10만건의 대리인에 대한 데이터를 처리하려고 할 때 1010만건의 데이터를 모두 처리해야하는 비효율이 발생하는 것이다.
  • 이러한 비효율을 제거하기 위해서 서브타입 기준으로 테이블을 변환한다.

슈퍼/서브타입(논리)을 개별타입(물리)으로 변환

  • 만약 대부분의 업무 처리가 각각의 개별로 발생한다고 가정한다.
  • 당사자, 이해관계인, 대리인, 매수인 각각에 대해 독립적으로 트랜잭션이 발생하면 당사자에 꼭 필요한 컬럼들만을 가지게 하고 이해관계인, 대리인, 매수인에도 꼭 필요한 컬럼들만을 가지게한다.
  • 기존의 슈퍼/서브 타입을 모두 개별 테이블로 변환한 것이다.

슈퍼/서브타입 데이터 모델 변환 타입 비교

반응형

'SQL' 카테고리의 다른 글

[SQLD] dense rank  (0) 2023.04.29
[SQLD] RANK 함수  (0) 2023.04.28
[SQLD] 엔터티  (0) 2023.03.07
[SQLD] 문자유형비교방법  (0) 2023.02.25
[SQLD] 트랜잭션  (0) 2023.02.25

관련글 더보기

댓글 영역