컴공생의 다이어리
트랜잭션(Transaction) 개념, 특성, 제어 본문
트랜잭션(Transaction)이란?
인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
트랜잭션의 특성
특성 | 설명 | 주요기법 |
원자성 (Atomicity) |
- 분해가 불가능한 작업의 최소단위 - 연산 전체가 성공 또는 실패 - 하나라도 실패할 경우 전체가 취소되어야 하는 특성 |
- Commit/Rollback - 회복성 보장 |
일관성 (Consistency) |
- 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야하는 특성 | - 무결성 제약조건 - 동시성 제어 |
격리성 (Isolation) |
- 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가한 특성 | - Read Uncommited - Read Commited - Repeatable Read - Serializable |
영속성 (Durability) |
- 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장하는 특성 | - 회복기법 |
트랜잭션의 상태
- 활성화(Active) : 초기 상태, 트랜잭션이 실행 중일 때 가지는 상태
- 부분 완료 상태(Partially Committed) : 마지막 명령문이 실행된 후에 가지는 상태
- 완료 상태(Committed) : 트랜잭션이 성공적으로 완료된 후 가지는 상태
- 실패 상태(Failed) : 정상적인 실행이 더 이상 진행될 수 없을 때 가지는 상태
- 철회 상태(Aborted) : 트랜잭션이 취소되고 데이터베이스가 트랜잭션 시작 전 상태로 환원된 상태
트랜잭션 제어
트랜잭션 제어언어는 TCL(Transaction Control Language)이라고 한다. 트랜잭션의 결과를 혀용하거나 취소하는 목적으로 사용되는 언어를 지칭
TCL 명령어 | ||
명령어 | 핵심 | 설명 |
커밋(COMMIT) | 트랜잭션 확정 | 트랜잭션을 메모리에 영구적으로 저장하는 명령어 |
롤백(ROLLBACK) | 트랜잭션 취소 | 트랜잭션 내역을 저장 무효화시키는 명령어 |
체크포인트(CHECKPOINT) | 저장 시기 설정 | ROLLBACK을 위한 시점을 지정하는 명령어 |
참고
728x90
'자격증 > 정보처리기사' 카테고리의 다른 글
집합 연산자(Set Operator) (0) | 2021.04.12 |
---|---|
DDL 명령어 - 생성(CREATE), 수정(ALTER), 삭제(DROP, TRUNCATE) (0) | 2021.04.07 |
요구사항 명세(Requirement Specification) 기법 (0) | 2021.03.25 |
[정보처리기사 필기] 2021년 1회 가답안(A형/B형) (0) | 2021.03.15 |
소프트웨어 생명 주기(Software Life Cycle)-폭포수, 프로토타입, 나선형, 애자일 (0) | 2021.03.15 |
Comments