
📒 CS/📝 DB
[DB] 트랜잭션(개념/특성/연산/상태)
트랜잭션이란? 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 최소 단위를 뜻한다. 여기서 작업의 단위는 질의어 한 문장을 뜻하는 것이 아니며, 이 작업 단위는 쪼개질 수 없다. 간단히 말해 여러 개의 질의어들이 묶인 작업의 한 단위를 의미하는데, 이 단위만큼 DB에 명령을 한 번에 반영한다. 예를 들어 A가 B에게 송금하는 경우를 생각해보자. A가 B에게 일정 금액을 송금했을 때, 정상적으로 송금이 완료되면 A의 계좌에서 해당 금액이 차감되고, B에 계좌에는 같은 금액이 추가되어야 한다. 이를 질의어로 표현해보면 아래와 같다. -- A 계좌에서 금액 차감 UPDATE 계좌 SET 잔액 = 잔액 - 10000 WHERE 이름 = 'A'; -- B 계좌에 금액 추가 UPDATE 계좌 SET 잔액 =..