내 잡다한 노트
트랜잭션(Transaction) 본문
**트랜잭션(Transaction)**은 데이터베이스에서 하나의 논리적인 작업 단위를 의미합니다. 트랜잭션은 하나 이상의 작업(쿼리)을 묶어 하나의 작업처럼 처리하며, 데이터베이스의 무결성을 유지하기 위해 반드시 완전하게 수행되거나 전혀 수행되지 않아야 합니다.
트랜잭션의 구성
트랜잭션은 다음과 같은 작업으로 구성됩니다:
- 시작: 트랜잭션이 시작됩니다.
- 작업 수행: 데이터베이스에서 SQL 명령(SELECT, INSERT, UPDATE, DELETE 등)을 실행합니다.
- 커밋(Commit): 모든 작업이 성공적으로 완료되었음을 확인하고 변경 내용을 데이터베이스에 영구적으로 저장합니다.
- 롤백(Rollback): 작업 중 오류가 발생하면 트랜잭션을 취소하고 데이터베이스를 이전 상태로 되돌립니다.
트랜잭션의 예
1. 은행 송금
- A 계좌에서 10만 원을 B 계좌로 이체한다고 가정합니다.
- A 계좌의 잔액에서 10만 원 차감 (UPDATE Account SET balance = balance - 100000 WHERE id = 'A')
- B 계좌의 잔액에 10만 원 추가 (UPDATE Account SET balance = balance + 100000 WHERE id = 'B')
- 두 작업이 모두 성공하면 Commit.
- 만약 하나라도 실패하면 Rollback.
'DB' 카테고리의 다른 글
DB에서 Join 이란? (0) | 2024.12.09 |
---|---|
데이터 정규화(Normalization) (0) | 2024.12.09 |
Cache의 갱신 방식 (0) | 2024.12.09 |
DB에서 ACID 성질 (0) | 2024.12.09 |