본문 바로가기
🖊️Certificate/📌SQLD

[SQLD] 1과목 - 2장) 3절. 모델이 표현하는 트랜잭션의 이해

by 빛나고요 2024. 3. 5.
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 으로 처리

댓글