- 데이터베이스에서 일련의 연산을 하나의 단위로 묶어 실행하는 개념
주요속성
Atomicity (원자성)
- 트랜잭션 내의 모든 연산이 완료되거나 전혀 수행되지 않아야 함
- 트랜잭션의 모든 작업이 성공적으로 완료되어야 하며,
만약 실패하면 모든 변경 사항은 롤백되어 이전 상태로 되돌아가야 함
Consistency (일관성)
- 트랜잭션이 실행되기 전과 후의 데이터베이스 상태는 일관성을 유지해야 함
- 트랜잭션이 완료된 후 데이터베이스는 모든 정의된 제약 조건을 충족해야 합니다.
Isolation (격리성)
- 트랜잭션은 독립적으로 실행되어야 함
- 다른 트랜잭션의 중간 상태가 노출 x
- 각 트랜잭션은 다른 트랜잭션이 완료되기 전까지는 자신의 작업을 볼 수 없다
Durability (지속성)
- 트랜잭션이 완료된 후에는 모든 변경 사항이 영구적으로 저장되어야 함
- 시스템 장애가 발생하더라도 데이터는 손실되지 않아야 한다
주요명령어
BEGIN
- 트랜잭션의 시작 명시
COMMIT
- 트랜잭션 내의 모든 변경 사항을 데이터베이스에 영구적으로 저장
ROLLBACK
- 트랜잭션 취소, 트랜잭션 시작 전 롤백
BEGIN TRANSACTION;
트랜지션 시작 선언
BEGIN TRY
실행문1
실행문2
....
실행문N
-- 모든 작업이 성공적으로 수행되었음을 데이터베이스에 반영
COMMIT;
END TRY
BEGIN CATCH
ROLLBACK;
END CATCH;
try-catch문을 사용
2024.08.16