console.log("연록")

[기술면접] 4. 트랜잭션(Transaction)과 TCL 본문

etc.

[기술면접] 4. 트랜잭션(Transaction)과 TCL

연 록 2022. 4. 6. 05:55
728x90

1. 트랜잭션(Transcation)

 

- 데이터베이스의 상태를 변환시키는 하나의 논리적인 기능을 수행하기 위한 작업의 단위

-> 데이터베이스의 상태를 변환시킨다는 것은 SQL을 통해 데이터베이스에 접근하는 것을 의미

-> 작업의 단위는 SQL 한 문장이 아니라 사용자가 정하는 것

- 또는 한꺼번에 수행되어야 하는 일련의 연산들

 

 

2. 트랜잭션의 특징

 

1) 트랜잭션은 데이터베이스 시스템에서 병행 제어 및 회복 작업 시 처리되는 작업의 논리적 단위

2) 사용자가 시스템에 대한 서비스 요구 시 시스템이 응답하기 위한 상태 변환 과정의 작업단위

3) 하나의 트랜잭션은 Commit 되거나 Rollback됨

 

 

3. TCL(Transaction Control Language)

- 트랜잭션을 제어하는 언어

- 트랜잭션의 대상이 되는 SQL은 DML(Update, Insert, Delete...)

 

 

4. Commit

- 트랜잭션에 대한 작업이 성공적으로 끝났고 데이터베이스가 다시 일관된 상태에 있을 때 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산

 

 

5. Rollback

- 연산은 하나의 트랜잭션 처리가 비정상적으로 종료되어 데이터베이스의 일관성을 깨뜨렸을 때, 이 트랜잭션의 일부가 정상적으로 처리되었더라도 트랜잭션의 원자성을 구현하기 위해 이 트랜잭션이 행한 모든 연산을 취소(Undo)하는 연산
- Rollback시에는 해당 트랜잭션을 재시작하거나 폐기