안녕하세요 호호만두에요
요즘에 정보처리기사 공부를 하고 있어요
이번주 일요일이면 드디어 시험!!!
그런데 공부를 몇일 못해서..
약간 간당간당할것 같아요 ㅠㅠ
공부를 하면서 자주나오는 내용들을 하나씩 정리해보려고해요
그 중 하나는 트랜잭션!!
제가 DB 공부를 한번도 해본적이 없어서 초반에
DB부분이 제일 어려웠어요ㅠㅠ
트랜잭션(Transaction)
정의: 데이터베이스(DB)에서의 상호작용의 단위(논리적 단위)이다
SQL을 통해서 데이터베이스에 접근하는 것을 의미한다(Update, select등 을 이용)
- 트랜잭션의 목적 -
트랜잭션을 조작하는 기능은 사용자가
데이터베이스 완전성(integrity) 유지를 확신하게 한다.
즉 한 계좌에서 송금하면 다른 계좌에서 입금이 확인 되어야 한다
(위키피디아 참고)
- 트랜잭션의 특성 -
1. Atomicity(원자성)
2. Consistency(일관성)
3. Isolation(고립성)
4. Durability(영구성)
1. Atomicity(원자성): 트랜잭션의 연산은 DB내에 모두 반영되거나 전혀 반영되지 않아야 한다
2. Consistency(일관성): 트랜잭션이 성공적으로 실행하면 언제나 일관성 있는 데이터베이스 상태로 변한다
3. Isolation(고립성); 둘 이상의 트랜잭션이 동시에 발생할 경우 하나의 트랜잭션 실행중에 다른 트랜잭션이 끼어들 수 없다.
4. Durability(영구성): 성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영어야 한다.
- 연산 -
Commit: 트랜잭션의 실행이 완료되었음을 트랜잭션 관리자에게 알린다
Rollback: 트잭션의 처리가 비정상적으로 종료되어 트랜잭션을 취소시킨다.
위 연산 중 롤백도 자주 나오니까 트랜잭션을 취소하는걸 롤백(Rollback)이라고 꼭 알아두세요!!