트랜잭션은 데이터 베이스의 상태를 변화시키기 위해 수행하는 작업 단위입니다. 여기서 상태를 변화시킨다는 것은 SQL 질의어를 통해 DB에 접근한다는 개념으로 SQL을 흔히 날린다?라고 하는 그 행위입니다
SELECT
INSERT
DELETE
UPDATE
트랜잭션의 특징
- 원자성 : 트랜잭션이 모두 DB에 반영되거나 전혀 반영되어야 하지 않아야합니다.
- 일관성 : 트랜잭션의 작업처리 결과는 항상 일관성 있어야 합니다
- 독립성 : 둘 이상의 트랜잭션이 동시 병행실행되고 있을 때, 어떤 트랜잭션도 다른 트랜잭션 연산에 끼어들 수 없습니다.
- 지속성 : 트랜잭션이 성공적으로 완료되었으면 결과는 영구적으로 반영되어야합니다
커밋
- 하나의 트랜잭션이 성공적으로 끝났고, DB가 일관성있는 상태일 때 이를 알려주기 위해 사용하는 연산입니다.
롤백
- 하나의 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션의 원자성이 깨진 경우입니다.
- 이 경우 last Consistent state로 상태를 되돌리는데 이를 롤백이라 합니다.