트랜잭션이란?
테이터베이스의 상태를 변경시키기 위해 수행하는 작업의 단위를 의미한다.
데이터베이스의 상태를 변화시킨다는 것은 질의어인 SQL을 이용하여 데이터베이스에 접근하는 것을 의미한다. 그리고 작업의 단위는 물리적으론 여러 개의 작업이지만, 논리적으로는 하나의 작업으로 인식될 수 있는 단위를 말한다.
트랜잭션의 성질
트랜잭션은 ACID라는 네 가지의 특성을 가진다.
트랜잭션 내의 모든 명령은 반드시 수행되어야 한다.
하나의 오류라도 발생하면 트랜잭션 전부가 취소가 된다.
커밋(commit)과 롤백(rollback)
하나의 트랜잭션의 작업이 성공적으로 완료되어 데이터베이스가 일관성 있는 상태에 있음을 의미한다.
트랜잭션 작업 중 문제가 생겨, 원자성을 지키기 위해 해당 트랜잭션을 재실행하거나 취소하는 것을 의미한다.
트랜잭션의 상태
트랜잭션이 실행 중인 상태
트랜잭션이 실행되다 오류가 발생하여 중단된 상태
트랜잭션이 비정상적으로 종료되어 Rollback이 수행된 상태
트랜잭션의 연산이 마지막까지 실행되어 Commit을 수행하기 직전의 상태
트랜잭션이 성공적으로 종료되어 Commit 연산을 실행한 후의 상태