-
1.트랜잭션(Transaction)
1-1 트랜잭션이란?
데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하는 작업 단위
1-2 특징
연산 순서 보장
트랜잭션 내의 모든 연산은 실행되어야 하며, 하나라도 오류가 발생할 경우 처음의 상태로 되돌림.
동시에 많은 사용자가 트랜잭션을 실행하더라도 서로 간섭할 수 없음.
1-3 목적
데이터 베이스 완전성(integrity) 유지
*완전성: 데이터를 보호하고, 항상 정상인 데이터를 유지하는 것.
예시: 입금을 예로 들어보자. 트랜잭션이 보장되지 않은 상태라면 A의 계좌에서 돈을 빼는 것을 성공했지만 B의 계좌에 돈을 넣어주는 것 실패할 경우 돈이 세상에서 사라지게 된다. 하지만 트랜잭션의 완전성 덕에 트랜잭션 내의 어떤 부분이 오류가 발생할 경우 Rollback을 통해 처음 상태로 되돌린다.
1-4 트랜잭션 처리과정
2.롤백(Rollback)
1-1 롤백이란?
트랜잭션 중 오류가 발생할 경우 변경된 사항을 모두 취소하고 트랜잭션을 종료 시키는 것.
트랜잭션이 처리되기 이전 상태로 되돌리는 것.
1-2 특징
커밋 이전까지 복구.
비정상적으로 SQL이 종료 될 경우 자동으로 롤백 수행.
1-3 롤백 처리과정
사진출처:
https://www.researchgate.net/figure/Flow-chart-of-rollback-recovery-using-checkpoint_fig1_224577873
'SQL' 카테고리의 다른 글
Oracle SQL(기초 개념) (0) 2020.09.03