본문 바로가기

카테고리 없음

081 트랜잭션 (Transaction)

DataBase에서 하나의 논리적 기능을 수행하기 위한 연산 작업의 집합

DBMS에서 회복 및 병행 수행 시 처리되는 작업의 논리 단위이다.

하나의 트랜잭션은

정상적으로 종료될 경우 COMMIT
비정상적으로 종료될 경우 ROLLBACK

이 수행된다.

* Commit : 트랜잭션이 정상적으로 종료되어 수행한 내용을 DB에 반영하는 연산.
* Rollback : 비정상적으로 종료되어 DB의 일관성이 깨졌을 때, 트랜잭션의 모든 변경 작업을 취소하고 이전 상태로 되돌린다.


- 트랜잭션의 특성 (ACID)
: 데이터의 무결성(Integrity)을 보장하기 위하여 DBMS의 트랜잭션이 갖추어야 할 특성이다.


1) 원자성
: 원자성이란, 더 이상 쪼개질 수 없는 작업 단위를 말한다.
정상적으로 수행되는 것이나, 그게 아니라면 전혀 수행이 되지 않음을 보장해야 한다.
2) 일관성
: 트랜잭션은 DB의 일관성을 보존해야 한다.
수행 이전과 이후의 상태가 같아야만 한다.
3) 독립성
: 여러 트랜잭션이 갱신되어도 각 트랜잭션은 독립적이어야만 한다.
즉, 고립적으로서 다른 트랜잭션으로 하여금 접근이 불가능 하여야 한다.
4) 영속성
: 트랜잭션의 실행이 성공적으로 실행 된 뒤에도 변경된 내용은 계속 보존되어야 한다.