정의
상태를 변화시키다는 것 → SQL 질의어를 통해 DB에 접근하는 것
- SELECT
- INSERT
- DELETE
- UPDATE
작업 단위 → 많은 SQL 명령문들을 사람이 정하는 기준에 따라 나누어 진 단위
예시) 사용자 A가 사용자 B에게 만원을 송금한다.
이때 DB 작업
1. 사용자 A의 계좌에서 만원을 차감한다 : UPDATE 문을 사용해 사용자 A의 잔고를 변경
2. 사용자 B의 계좌에 만원을 추가한다 : UPDATE 문을 사용해 사용자 B의 잔고를 변경
- 현재 작업 단위 : 출금 UPDATE문 + 입금 UPDATE문
→ 이를 통틀어 하나의 트랜잭션이라고 한다.- 위 두 쿼리문 모두 성공적으로 완료되어야만 "하나의 작업(트랜잭션)"이 완료되는 것이다.
Commit
- 작업 단위에 속하는 쿼리 중 하나라도 실패하면 모든 쿼리문을 취소하고 이전 상태로 돌려놓아야한다.
Rollback
즉, 하나의 트랜잭션 설계를 잘 만드는 것이 데이터를 다룰 때 많은 이점을 가져다준다.
Atomicity (원자성)
Consistency (일관성)
Isolation (독립성)
Durability (지속성)
Commit
Rollback