Transaction
더이상 쪼갤수 없는 하나의 작업 단위
x) 송금시스템
A계좌 | B계좌 |
송금 ----- 출금한다 ------>| |
| ----- 입금한다 ----> |
Transaction의 4가지 속성 만족
1) 원자성(Atomicity)
- 트랜잭션은 연산들을 전부 실행하든지 전혀 실행하지 않아야지 일부만 실행해서는 안된다. All or Nothing
2) 일관성(Consistency)
- 틀랜잭션이 성공적으로 실행되면 데이터베이스 상태는 모순되지 않고 일관된 상태가 된다.
- 출금한 금액만큼 입금이 이루어져서 출금 데이터와 입금 데이터가 일치해야한다.
3) 격리성(Isolation)
- 트랜잭션 실행 도중의 연산 결과는 다른 트랜잭션에서 접근할 수 없다.
- 출금을 하는 중에는 다른 사람이 출금을 실행할 수 없다
4) 영속성(Durability)
- 트랜잭션이 성공적으로 완료되면 그 결과는 영속적이다.
- 데이터가 어딘가 저장되어 있어야 한다.
DDL, DCL
- 자동으로 트랜잭션이 완료된다. (자동 커밋)
DML
- 자동으로 트랜잭션 완료가 되지 않는다.
- 작업이 끝나길 기다리므로 트랜잭션 완료를 해야한다.
1) 실제 DB에 반영 위해 COMMIT;
2) 원상태로 돌리고 싶을 떈 ROLLBACK;
'IT개발 > Database' 카테고리의 다른 글
[Oracle] SQL 문 - Join 의 종류 (natural, inner, outer, cross) (0) | 2014.09.10 |
---|---|
[Oracle] user 생성 및 권한주기 (0) | 2014.09.07 |
[데이터베이스] 클러스터드 인덱스와 넌 클러스터드 인덱스 (0) | 2014.03.30 |
[MySQL] Developer를 이용한 깔끔한 User Interface로 작업하기 (0) | 2014.01.23 |
[Oracle] SQL Plus로 USER 생성 및 권한 추가 (0) | 2014.01.23 |