Day40 :) 트랜잭션

Nux·2021년 11월 2일
0

자바웹개발

목록 보기
41/105
post-thumbnail
post-custom-banner

트랜잭션

  • 논리적 작업단위
  • dml작업들을 하나의 단위로 묶은 것
  • 명령문 중 하나라도 실행되지 않으면 나머지 명령문도 모두 반영되지 않음
    ex) 대학 1-4학년을 누락없이 모두 마쳐야 졸업

트랜잭션의 특성

  • 원자성: 부분적인 실행 및 중단이 불가능함
  • 일관성: 트랜잭션 실행 시, 그 데이터들은 일관성을 유지함(변경 없음)
  • 고립성: 트랜잭션 수행 시 다른 트랜잭션이 끼어들지 못함
  • 지속성: 수행된 트랜잭션은 db에 영구적으로 반영됨

트랜잭션의 실행

  • 모든 작업 반영(commit)/취소(rollback)만 가능하며, 부분 반영 불가

commit/rollback 실행 전

  • 현재 사용자의 dml작업결과는 아무도 볼 수 없음
  • 데이터를 이전 상태로 되돌릴 수 있음

commit

  • 작업 결과가 db에 영구저장됨
  • 모든 사용자가 작업결과를 볼 수 있으며, 다른 사용자가 행 조작 가능

rollback

  • 작업결과 반영이 취소되며 데이터가 이전상태로 복구됨
post-custom-banner

0개의 댓글