TransAction
-Transaction 이란?
-데이터베이스 내에서 하나의 그룹으로 처리되어야 하는
명령문들을 모아 놓은 논리적인작업 단위
-여러 단계의 처리를 하나의 처리처럼 다루는 기능
-여러 개의 명령어의 집합이 정상적으로 처리되면 정상 종료
하나의 명령어라도 잘못되면 전체취소
WHY?
데이터의 일관성을 유지하면서 안정적으로 데이터를 복구
[1], [2]번까지 잘 실행되다가 [3]번 작업 시 소프트웨어가 중단되거나 하드웨어가 고장이 발생한다면?
[2]번까지의 모든 작업을 취소하고 트랜젝션 작업 전 데이터베이스 초기 상태로 돌아가게 된다.
특징
원자성(Atomicity) =트랜잭션이 데이터베이스에 모두 반영되던가, 아니면 전혀 반 영되지 않아야 한다는 것이다
일관성(Consistency)=트랜잭션의 작업 처리 결과가 항상
일관성이 있어야 한다는 것이다
독립성(Isolation)=둘 이상의 트랜잭션이 동시에 병행 실행되고 있을 경우에 어느 하 나의 트랜잭션이라도 다른 트랜잭션의 연산을 끼어들 수 없다.
지속성(Durability)=트랜잭션이 성공적으로 완료됬을 경우, 결과는 영구적으로 반영 되어야 한다는 점이다.
1-3Transaction 상태도
-Commit RollBack
COMMIT=
-모든 작업들을 정상적으로 처리하겠다고 확정하는 명령어로 처리과정을 DB에 영구저장
-수행하면, 하나의 트랜잭션 과정을 종료
-이전 데이터가 완전히 UPDATE된다
그림 쉽게 보기
ROLLBACK=
-작업 중 문제가 발생되어 트랜잭션의 처리과정에서 발생한변경사항을 취소하는 명령어
-트랜잭션으로 인한 하나의 묶음처리가 시작되기 이전의 상태로 되돌린다
-이전 COMMIT한 곳까지만 복구한다
그림 쉽게 보기
DELETE FROM trat3;
-commit으로 삭제 영구 저장하기
DELETE FROM trat3 WHERE id=2012;
COMMIT;
COMMIT 명령어과 ROLLBACK 명령어의 장점
-데이터 무결성이 보장됩니다.
-영구적인 변경 전에 데이터의 변경 사항을 확인할
수 있습니다.
-논리적으로 연관된 작업을 그룹화할 수 있습니다.
SavePoint=
SAVEPOINT LABEL_NAME;
-SAVEPOINT로 지정해 놓은 특정 위치로
되돌아가기 위한 사용 형식
ROLLBACK TO LABEL_NAME;
'DATABASE' 카테고리의 다른 글
[DATABASE][데이터베이스의 분석 설계 과정]미완성 (0) | 2018.04.19 |
---|---|
[DATABASE][데이터의 무결성] (0) | 2018.04.19 |
[DATABASE][DDL] (0) | 2018.04.19 |
[DATABASE][날짜 함수 - 변환 함수 - 일반 함수] (0) | 2018.04.19 |
[DATABASE][문자 함수와 숫자 함수] (0) | 2018.04.19 |