트랜잭션(Transaction) 은 더 이상 나눌 수 없는 하나의 논리적 작업 단위 입니다. 계좌 이체처럼 "출금과 입금이 함께 성공하거나, 함께 취소되어야" 하는 묶음입니다. 이 단원은 ACID 특성 과 커밋·롤백 을 정확히 아는지 묻습니다.
이 단원, 시험에서 어디에 나오나
- 제1과목 「데이터 모델링의 이해」의 '데이터 모델과 SQL' 세부항목입니다.
- ACID 정의 구분 과 어떤 작업이 롤백되는가(DML vs DDL) 가 단골입니다.
① ACID — 트랜잭션 4대 특성
그림 1. 원자성·일관성·고립성·지속성. 원자성과 일관성의 정의를 바꿔 내는 함정이 잦습니다. (자작 도식)
| 특성 | 뜻 |
|---|---|
| 원자성(A) | 모두 성공하거나 모두 취소(all-or-nothing) |
| 일관성(C) | 실행 전후 데이터 무결성 유지 |
| 고립성(I) | 동시 실행 트랜잭션끼리 간섭 없음 |
| 지속성(D) | 커밋되면 결과가 영구 보존 |
함정: 원자성(전부/전무)과 일관성(무결성 유지)의 정의를 서로 바꾼 보기.
② COMMIT과 ROLLBACK (TCL)
트랜잭션은 TCL 로 제어합니다.
- COMMIT: 변경을 확정 (지속성 확보).
- ROLLBACK: 변경을 취소 하고 이전 상태로 되돌림.
- SAVEPOINT: 롤백할 지점을 지정.
③ 되돌릴 수 있나? — DML vs DDL (핵심 함정)
그림 2. DML은 커밋 전이면 롤백으로 되돌릴 수 있지만, DDL(TRUNCATE·DROP)은 자동 커밋되어 롤백해도 복구되지 않습니다. (자작 도식)
- DML(INSERT·UPDATE·DELETE): 커밋 전이면
ROLLBACK으로 되돌리기 가능. - DDL(TRUNCATE·DROP·CREATE·ALTER): 실행 즉시 자동 커밋(auto-commit) →
ROLLBACK으로 복구 불가.
대표 함정: "DELETE와 TRUNCATE는 같다" 는 보기. DELETE는 롤백되지만 TRUNCATE는 되돌릴 수 없습니다. (기준: Oracle·ANSI. 일부 DBMS는 예외가 있습니다.)
자주 틀리는 함정
- 원자성 ↔ 일관성 정의 바꿔치기.
- TRUNCATE 롤백 가능 이라고 오인 — DDL은 auto-commit이라 불가.
- COMMIT 후 롤백 으로 되돌릴 수 있다고 착각 — 커밋되면 확정됩니다.
한 장 정리 (암기 카드)
- ACID: 원자성(전부/전무)·일관성(무결성)·고립성(간섭없음)·지속성(영구보존).
- TCL: COMMIT(확정)·ROLLBACK(취소)·SAVEPOINT(지점).
- DML(DELETE 등)은 롤백 O, DDL(TRUNCATE·DROP)은 auto-commit → 롤백 X.
- 트랜잭션 = 나눌 수 없는 하나의 작업 단위.
참고 출처
- 시험 과목·출제기준: 한국데이터산업진흥원(KDATA) 데이터자격검정 (2026년 7월 확인)
- ACID·트랜잭션 제어는 관계형 DB 표준(Oracle·ANSI) 이론에 근거하며, 본문 설명·예시·도식은 자작입니다.