본문 바로가기
SQLD

[SQLD] 230517 슈퍼/서브타입 데이터 모델의 변환 타입 | Nested Loop, Hash Join | 트랜잭션의 특징

by studymode 2024. 5. 17.

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

One To One Type

  • 슈퍼타입과 서브타입을 개별 테이블로 도출
  • 테이블의 수가 많아서 조인이 많이 발생하고 관리가 어려움

Plus Type

  • 슈퍼타입과 서브타입 테이블로 도출
  • 조인이 발생하고 관리가 어려움

Single Type

  • 슈퍼타입과 서브타입을 하나의 테이블로 도출
  • 조인성능이 좋고 관리가 편하지만, IO 성능이 나쁨

 

 

 

Nested Loop

  • 온라인 트랜잭션 처리 (OLTP)에 유리
  • 적은 데이터를 조인할 때 유리

Hash Join

  • 작은 테이블을 먼저 읽어서 Hash Area에 해시 테이블을 생성하는 방법
  • 큰 테이블로 Hash Area를 생성한다면 과다한 Sort가 유발 되어 성능이 저하될 수 있다
  • 수행 빈도가 낮고 수행시간이 오래 걸리는 대용량 테이블에 대한 조인을 할 때 유용
  • 두개의 테이블 간의 조인을 할 때 동등조인 (EQUI-Join)에 적합

 

 

ROLLUP

  • 소계 + 총계

CUBE

  • 모든 케이스 (합계)

 

ISNULL(값1,값2)

NVL(값1,값2)

  • 두개의 값 받아서 Null아니면 값1, Null이면 값2

NVL2(값1,값2,값3)

  • 세개의 값 받아서 1이 Null이 아니면 2, Null이면 3

COALESCE

  • Null이 아닌 첫번째 값을 받음

DECODE(값1,값2,값3,값4)

  • 1과2가 같으면 3, 아니면 4

NULLIF(값1,값2)

  • 값1과 값2가 같으면 Null, 다르면 값1

NOT IN(값)

  • 값에 없는것 전달
  • 값에 Null이 있으면 어떤 값도 성립 안됨

WHERE COL1 IN (값)

  • 값에 Null있으면 비교연산 불가
  • Null아닌 값만 확인

 

 

 

트랜잭션의 특징 ACID

 

원자성 (Atomicity)

  • 트랜젝션이 DB에 모두 반영되거나, 혹은 전혀 반영되지 않아야한다.

일관성 (Consistency)

  • 트랜젝션 작업 처리 결과는 항상 일관성이 있어야한다.

고립성 (Isolation)

  • 둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 때, 어떤 트렌젝션도 다른 트렌젝잭션에 끼어들 수 없다.

지속성 (Duration)

  • 트렌잭션이 성공적으로 완료되었으면, 결과는 영구적으로 반영되어야한다.

'SQLD' 카테고리의 다른 글

[SQLD] 240523 SQL  (0) 2024.05.23
[SQLD] 240520 SQL 기본 및 활용  (0) 2024.05.20
[SQLD] 240509 정규화, 반정규화  (0) 2024.05.09
[SQLD] 데이터 모델과 성능  (0) 2024.05.08
[SQLD] 240502 SQL DB DBMS 데이터 모델링  (0) 2024.05.02