작업 수행의 논리적 단위
**Atomicity(원자성): ****트렌젝션의 작업은 모두 실행되던지 모두 실행되지 않는다. (All or Nothing)
Consistency(일관성): 트렌젝션이 성공했다면 데이터베이스는 일관성을 유지해야 한다.
일관성이란 트렌젝션 수행 전 후의 모든 제약 조건(기본키, 외래키, 도메인, 도메인 제약조건)이 일치함을 뜻한다. (갑자기 타입이 Int → String으로 변하는 건 안됨)
Isolation(독립성): 트렌젝션이 수행되는 도중 다른 작업은 끼어들 수 없다.
트렌젝션 끼리는 서로 간섭할 수 없다. (임계영역을 둬서 처리할 수 있다.)
Durability(지속성): 성공적으로 트렌젝션이 수행되었으면, 결과는 영원히 반영되어야 한다.
완전히 반영되면 로그를 남기는데, 이 로그를 이용해 트렌젝션을 수행 전으로 돌릴 수 있다. 따라서 트렌젝션은 로그 저장이 완료된 시점에 종료되어야 한다.