728x90

트랜잭션

개념 : 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위

특성 : 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 영속성(Durability) - ACID

COMMIT : 트랜잭션을 메모리에 영구적으로 저장하는 명령어

ROLLBACK : 트랜잭션 내역을 저장 무효화시키는 명령어

CHECKPOINT : ROLLBACK을 위한 시점을 지정하는 명령어

제어 : 병행 제어, 회복 기법

 

병행 제어 

미보장 시 문제점 : 갱신 손실, 현황 파악 오류, 모순성, 연쇄 복귀

기법 종류 : 로킹, 낙관적 검증, 타임스탬프 순서, 다중 버전 동시성 제어

 

회복 기법

로그 기반 회복 기법 - 지연 갱신 회복 기법, 즉각 갱신 회복 기법

체크포인트 회복 기법 - 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복 기법

그림자 페이징 기법 - 트랜잭션 수행 시 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구하는 기법

 

데이터 베이스 고립화 수준

Read Uncommitted - 한 트랜잭션에서 연산 중인 데이터를 다른 트랜잭션이 읽는 것을 허용하는 수준

Read Committed - 한 트랜잭션에서 연산을 수행할 때, 연산이 완료될 때까지 읽기를 제한하는 수준

Repeatable Read - 선행 트랜잭션이 특정 데이터를 읽을 때, 트랜잭션 종료 시까지 해당 데이터의 갱신, 삭제를 제한하는 수준

Serializable Read - 선행 트랜잭션이 특정 데이터 영역을 순차적으로 읽을 때, 해당 데이터 영역 전체에 대한 접근을 제한하는 수준

 

 

DDL

- CREATE

- ALTER

- DROP

- TRUNCATE

 

DDL 대상

- 도메인 : 하나의 속성이 가질 수 있는 원자 값들의 집합

- 스키마 : 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조(외부 스키마, 개념 스키마, 내부 스키마)

- 테이블 : 데이터 저장 공간

- 뷰 : 하나 이상의 물리 테이블에서 유도되는 가상의 테이블

- 인덱스 : 검색을 빠르게 하기 위한 데이터 구조(순서, 해시, 비트맵, 함수기반, 단일, 결합, 클러스터드 인덱스)

 

테이블 : CREATE(괄호), ALTER(ADD, MODIFY, DROP), DROP(CASCADE, RESTRICT), TRUNCATE

뷰 : CREATE(as, 조회 쿼리), DROP

인덱스 : CREATE(on), ALTER(on), DROP

 

 

 

DML

- SELECT(SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY)

- INSERT(INSERT INTO, VALUES)

- UPDATE(UPDATE, SET, WHERE)

- DELETE(DELETE, FROM, WHERE)

 

 

조인(교차 조인을 제외한 나머지 on작성)

- 내부 조인(교집합 비슷)

- 외부 조인(왼쪽 외부 조인, 오른쪽 외부 조인, 완전 외부 조인)

- 교차 조인

- 셀프 조인

 

서브 쿼리 : SQL문 안에 포함된 또 다른 SQL문

- SELECT 절 서브 쿼리

- FROM 절 서브 쿼리

- WHERE 절 서브 쿼리

 

집합 연산자

- UNION : 중복 레코드를 제외한 합집합

- UNION ALL : 중복 레코드를 포함한 합집합

- INTERSECT : 교집합

- MINUS : 차집합

 

 

DCL

- GRANT(GRANT, ON, TO)

- REVOKE(REVOKE, ON, FROM)

728x90

+ Recent posts