슈퍼/서브타입 데이터 모델의 변환 타입
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 |