⭐ 트랜잭션(Transaction)?
- 데이터베이스의 상태를 변환시키기 위해 수행하는 작업의 단위
- 한꺼번에 모두 수행되어야 할 일련의 연산들
- 하나의 트랜잭션은 Commit 또는 Rollback 됨
- 쿼리 한줄 ≠ 트랜잭션!! 트랜잭션 설계를 하는 사람 마음에 따라 작업단위는 달라지는걸 유의!
(ex. 은행에서 [돈 입금 => 금액 확인 => 돈 보관 => 통장 총액 업데이트] 이 작업단위를 하나의 트랜잭션이라고 볼 수 있음!)
⭐ 트랜잭션의 연산
1. Commit
- 변경된 데이터를 테이블에 영구적으로 반영
- 하나의 트랜잭션이 성공적으로 끝남 && 데이터베이스가 일관성 있는 상태
=> Commit😀📢:트랜잭션이 끝났어요! 알아두세요!
2. Rollback
- 트랜잭션이 행한 모든 연산을 취소
- 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션의 원자성이 깨짐
=> Rollback💻⌨: (트랜잭션 재시작 or 폐기 동작)
⭐ 트랜잭션의 특성
1. 원자성(Atomicity)
- 트랜잭션은 데이터베이스 연산의 전부가 실행되거나 전혀 실행되지 않아야 함
(트랜잭션의 처리가 완전히 끝나지 않았을 경우 실행 전 상태와 같아야 함!트랜잭션은 완벽주의자야..)
2. 일관성(Consistency)
- 트랜잭션의 작업 처리 결과가 항상 일관성 있어야 함
(트랜잭션이 진행되는 동안 데이터베이스가 변경되더라도 처음 참조한 데이터베이스로 진행)
3. 고립성(Isolation)
- 트랜잭션 실행 중 생성되는 중간결과는 다른 트랜잭션이 접근할 수 없음
4. 영속성(Durability)
- 트랜잭션이 실행을 성공적으로 완료한다면, 그 결과는 영구적으로 보장되어야 함
⭐ 트랜잭션의 상태
'컴공스러운 공부' 카테고리의 다른 글
데이터 모델이란? (0) | 2022.04.12 |
---|---|
데이터베이스 언어 기초 복습하기 (DDL, DML, DCL) (0) | 2022.04.12 |