트랜잭션(Transaction)은 데이터베이스 관리 시스템(DBMS)에서 데이터베이스 상태를 변화시키는 작업의 단위입니다. 트랜잭션은 하나 이상의 데이터베이스 연산(INSERT, UPDATE, DELETE 등)을 포함하며, 이들 연산은 하나의 논리적 작업 단위로 묶여서 처리됩니다.
Atomicity (원자성): 트랜잭션 내의 모든 작업은 하나의 단위로 처리되며, 트랜잭션이 성공적으로 완료되면 모든 작업이 적용되고, 중간에 오류가 발생하면 모든 작업이 취소됩니다. 즉, 트랜잭션은 "모두 성공"하거나 "모두 실패"하는 특성을 가집니다.
Consistency (일관성): 트랜잭션이 실행되기 전과 후에 데이터베이스는 항상 일관된 상태를 유지해야 합니다. 트랜잭션이 성공적으로 완료되면 데이터베이스의 제약 조건을 위반하지 않도록 보장됩니다.
Isolation (격리성): 각 트랜잭션은 다른 트랜잭션의 영향을 받지 않도록 격리됩니다. 여러 트랜잭션이 동시에 실행될 때, 하나의 트랜잭션이 완료될 때까지 다른 트랜잭션의 결과를 볼 수 없습니다.
Durability (지속성): 트랜잭션이 완료되면 그 결과는 영구적으로 데이터베이스에 반영됩니다. 시스템에 장애가 발생하더라도 완료된 트랜잭션의 결과는 손실되지 않습니다.