트랜잭션
- 여러 개의 작업을 하나로 묶은 실행 유닛, 각 트랜잭션은 하나의 특정 작업으로 시작을 해 묶여 있는 모든 작업을 다 완료해야 정상적으로 종료
- 만약 하나의 트랜잭션에 속해있는 여러 작업중에서 단 하나의 작업이라도 실패한다면 트랜잭션에 속한 모든 작업을 실패한 것으로 판단
- 성공,실패 두 개의 결과만 존재
- 데이터베이스 트랜잭션은 ACID 특성을 가짐
ACID
데이터베이스 트랜잭션이 발생할 때, 그 안정성을 보장할 수 있는 성질
- Atomicity(원자성)
트랜잭션에 속해있는 모든 작업이 전부 성공하거나 전부 실패해서 결과를 예측할 수 있어야함
- Consistency(일관성)
데이터베이스의 상태는 일관되어야함 , 트랜잭션이 일어난 이후의 데이터베이스는 데이터베이스의 제약이나 규칙을 만족해야함
- Isolation(고립성)
각각의 트랜잭션은 독립적, 서로의 연산을 확인받거나 영향을 줄 수 없다
- Durability(지속성)
하나의 트랜잭션이 성공적으로 수행되었다면, 해당 트랙잰션에 대한 로그가 남아야함
런타임 오류나 시스템 오류가 발생해도 해당 기록은 영구적이어야함