Transaction= 거래
- DML(Data Manipulation Language), 즉 삽입(INSERT), UPDATE, DELETE와 관련된 논리적인 작업
- RDMS은 데이터를 처리할 때 트랜잭션을 통해 정상 종료와 비정상 종료에 대해 데이터의 신뢰성과 일관성 보장
- 즉, 데이터베이스의 데이터 무결성이 보장되는 상태에서 DML 작업을 완수하기 위한 기본 작업 단위
트랜잭션의 특징= ACID
1. 원자성(Atomicity)
- 트랜잭션이 DB에 모두 반영되거나, 혹은 전혀 반영되지 않아야 한다.
- 트랜잭션 내 모든 명령은 반드시 완벽히 수행되어야 하며, 어느 하나라도 오류가 발생하면 롤백(전부 취소)
2. 일관성(Consistency)
트랜잭션이 완료되면 데이터베이스의 데이터는 일관되게 유지되어야 한다.
3. 독립성, 격리성(Isolation)
트랜잭션이 완료되지 않은 동안에는 다른 트랜잭션이 참조하거나 변경할 수 없다.
4. 보존성(Durablility)
트랜잭션이 정상적으로 완료되면 해당 데이터는 저장되어 보존되어야 한다.
트랜잭션 행위
1. COMMIT
변경된 데이터를 테이블에 영구적으로 반영하는 것
2. ROLLBACK
- 데이터베이스에서 업데이트에 오류가 발생할 때, 이전 상태로 되돌리는 것. 후진 복귀
ROLLBACK 수행과정
마지막 COMMIT 시점으로 복구한다.