🖊️Certificate/📌SQLD
[SQLD] 1과목 - 2장) 3절. 모델이 표현하는 트랜잭션의 이해
빛나고요
2024. 3. 5. 20:13
BIG
1과목. 데이터 모델링의 이해
2장. 데이터 모델과 SQL
3절. 모델이 표현하는 트랜잭션의 이해
# 트랜잭션
- 하나의 연속적인 업무 단위를 말함
- 트랜잭션에 의한 관계는 필수적인 관계 형태를 가짐
- 하나의 트랜잭션에는 여러 SELECT, INSERT, DELETE, UPDATE 등이 포함될 수 있음
ex) A고객이 B고객에게 100만원을 이체하려고 할 때
①: A 고객의 잔액이 100만원 이상인지 확인
②: 이상이면, A고객의 잔액을 -100 UPDATE
③: B 고객 잔액에 +100 UPDATE
이 때, 2번과 3번 과정은 동시에 수행되어야 함. 즉, 모두 성공하거나 모두 취소 되어야 함
☞ 이런 특성을 갖는 연속적인 업무 단위를 트랜젝션이라고 함
*주의*
1. A 고객 잔액 차감과 B 고객 잔액 가산이 서로 독립적으로 발생하면 안됨 ➪ 각각 INSERT 문으로 개발되면 안됨
2. 부분 COMMIT 불가능 ➪ 동시 COMMIT or ROLLBACK 으로 처리