데이터베이스에서 하나의 논리적 기능을 수행하는 작업단위

트랜잭션 특징(ACID)

  1. 원자성(Atomicity) : 트랜잭션은 데이터베이스에 모두 반영되거나 모두 반영되지 않아야 함
  2. 일관성(Consistency) : 트랜잭션이 완료되면 트랜잭션 이전의 상황과 동일하게 항상 일관성 있는 데이터를 유지
  3. 독립성(Isolation) : 어느 하나의 트랜잭션이 실행될 때 다른 트랜잭션이 끼어들 수 없음
  4. 영속성(Durability) : 트랜잭션이 완료되면 결과가 영구적으로 반영

트랜잭션 연산

  1. commit
    • 트랜잭션이 성공적으로 수행되었음을 선언
    • commit이 실행되면 트랜잭션의 수행 결과가 데이터베이스에 반영된다
  2. rollback
    • 트랜잭션이 실패했음을 선언
    • rollback이 실행되면 현재까지 실행된 트랜잭션이 취소되고 이전의 상태로 되돌아 간다.

트랜잭션 상태

image

  1. Active : 트랜잭션이 시작되어 수행중인 상태
  2. Partially Committed : 마지막 연산이 실행되고 commit 연산이 되지 않은 상태
  3. Committed : commit 연산이 실행되어 트랜잭션의 성공이 영구적으로 반영된 상태
  4. Failed : 트랜잭션이 실패하여 중단된 상태
  5. Aborted : rollback 연산이 실행되어 트랜잭션이 취소되고 이전 데이터로 돌아간 상태