[Database] DB Transcation

foresec·2023년 6월 20일
0

Computer Science

목록 보기
6/28

트렌젝션

데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위

상태를 변화시킨다는것 -> SQL 질의어를 통해 DB에 접근하는 것
ex) SELECT, INSERT, DELETE, UPDATE

작업 단위 -> 많은 SQL 명령문들을 사람이 정하는 기준에 따라 정하는 것

예시) 사용자 A가 사용자 B에게 만원을 송금한다.

이때 DB 작업

    1. 사용자 A의 계좌에서 만원을 차감한다 : UPDATE 문을 사용해 사용자 A의 잔고를 변경
    1. 사용자 B의 계좌에 만원을 추가한다 : UPDATE 문을 사용해 사용자 B의 잔고를 변경

현재 작업 단위 : 출금 UPDATE문 + 입금 UPDATE문
→ 이를 통틀어 하나의 트랜잭션이라고 한다.

  • 위 두 쿼리문 모두 성공적으로 완료되어야만 "하나의 작업(트랜잭션)"이 완료되는 것이다. Commit
  • 작업 단위에 속하는 쿼리 중 하나라도 실패하면 모든 쿼리문을 취소하고 이전 상태로 돌려놓아야한다. Rollback

특징

  1. 원자성
  2. 일관성
  3. 독립성
  4. 지속성

참고
https://gyoogle.dev/blog/computer-science/data-base/Transaction.html

profile
왼쪽 태그보다 시리즈 위주로 구분

0개의 댓글