[Certification]/[SQLD] Structured Query Language Develop

[SQLD] 3-4. SQL 기본 - TCL 개념, 트랜잭션, COMMIT, ROLLBACK, SAVEPOINT

starterr 2024. 9. 11. 14:17
반응형

TCL(Transaction Control Language)

 

1) 개념

논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어

 

2) 종류

COMMIT, ROLLBACK, SAVEPOINT

 

 

 

반응형

A. 트랜잭션 개요

1. 트랜잭션이란 데이터베이스의 논리적 연산 단위이며 분리될 수 없는 한 개 이상의 데이터베이스 조작 단위
2. 하나의 트랜잭션에는 하나 이상의 SQL 문장이 포함
3. 트랜잭션은 분할할 수 없는 최소의 단위
4. 전부 작용하거나 전부 취소 (All OR Nothing)

 

 

B. 트랜잭션 특징

  • 원자성(Atomicity) - 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되던지 아니면
    전혀 실행되지 않은 상태로 남아 있어야 함 (All or Nothing)
  • 일관성(Consistency) - 트랜잭션이 실행되기 전의 데이터베이스 내용이 잘못되어 있지 않다면
    트랜잭션이 실행된 이후에도 데이터베이스 내용에 잘못이 있으면 안 됨
  • 고립성(Isolation) - 트랜잭션이 실행되는 도중에 다른 트랜잭션의 영향을 받아 잘못된 결과를
    만들어서는 안됨
  • 지속성(Durability) - 트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터베이스의
    내용은 영구적으로 저장

 

 

C. TCL : COMMIT

1) 입력/수정/삭제 한 값을 저장 후 트랜잭션을 완료
2) “COMMIT” 명령문으로 실행

 

 

 

D. TCL : ROLLBACK

1) 테이블 내 입력/수정/삭제한 데이터에 대하여 변경 사항을 취소
2) ROLLBACK은 데이터 변경 사항이 취소되어 데이터의 이전 상태로 복구되며, 관련된 행에 대한 잠금(LOCKING)이
풀리고 다른 사용자들이 데이터 변경을 할 수 있음
3) “ROLLBACK” 명령문으로 실행

 

 

E. TCL : COMMIT & ROLLBACK

 

- 입력/수정/삭제 후 트랜잭션 완료 전

 

1) 입력/수정/삭제 한 값을 변경 후 트랜잭션을 완료하지 않는 상태에서는 메모리 BUFFER에만 영향을 받았기 때문에 데이터의 변경 이전 상태로 복구 가능
2) 입력/수정/삭제 한 값을 변경 후 트랜잭션을 완료하지 않는 상태에서 현재 사용자만 입력/수정/삭제된 결과를 확인할 수 있음
3) 트랜잭션을 완료하지 않는 상태에서 다른 사용는 현재 사용자가 수행한 입력/수정/삭제 결과를 볼 수 없음
4) 변경된 행은 트랜잭션이 완료되기 전까지 잠금(LOCKING)이 설정되어서 다른 사용자가 변경할 수 없음

 

 

- 입력/수정/삭제 후 COMMIT으로 트랜잭션 완료 후

 

1) 데이터에 대한 변경 사항이 데이터베이스에 반영
2) 모든 사용자는 결과를 볼 수 있음
3) 관련된 행에 대한 잠금(LOCKING)이 풀리고, 다른 사용자들이 행을 조작할 수 있음

 

 

반응형

- 입력/수정/삭제 후 ROLLBACK으로 트랜잭션 완료 후

 

1) 데이터에 대한 변경 사항은 취소
2) 이전 데이터는 다시 재저장
3) 관련된 행에 대한 잠금(LOCKING)이 풀리고, 다른 사용자들이 행을 조작할 수 있음

 

 

- COMMIT과 ROLLBACK을 사용함으로써 얻는 기대 효과

1) 데이터 무결성 보장
2) 영구적인 변경을 하기 전에 데이터의 변경 사항 확인 가능
3) 논리적으로 연관된 작업을 그룹핑하여 처리 가능

 

반응형

 

F. TCL : SAVEPOINT

1) SAVEPOINT를 정의하면 ROLLBACK 할 때 트랜잭션에 포함된 작업을 ROLLBACK 하는 것이 아니라 현시점에서 SAVEPOINT까지 트랜잭션의 일부만 ROLLBACK 할 수 있음
2) 복잡한 대규모 트랜잭션에서 에러가 발생했을 때 SAVEPOINT까지의 트랜잭션만 롤백하고 실패한 부분에 대해서만 다시 실행할 수 있음
3) 복수의 저장점을 정의할 수 있으며, 동일 이름으로 저장점을 정의했을 때는 나중에 정의한 저장점이 유효

 

 

- SAVEPOINT 지정

1. Oracle : SAVEPOINT “SAVEPOINT명”;
2. SQL Server : SAVE TRANSACTION “SVAEPOINT명”;

 

 

- TCL : SAVEPOINT 활용

 

TCL : SAVEPOINT 활용
TCL : SAVEPOINT 활용

 

TCL : SAVEPOINT 활용
TCL : SAVEPOINT 활용

 


 

[SQLD] 3-3. SQL 기본 - DML 개념, 종류, 구문

 

[SQLD] 3-3. SQL 기본 - DML 개념, 종류, 구문

DML(Data Manipulation Language) 1) 개념 - 만들어진 테이블에 관리하기를 원하는 자료들을 입력, 수정, 삭제, 조회하는 조작 관련 명령어 2) 종류- INSERT, UPDATE, DELETE, SELECT A. DML : INSERT 1. 테이블에 데이

infoofit.tistory.com

 

[용어/개념] Network - ARP Protocol

 

[용어/개념] Network - ARP Protocol

A. ARP 개요1. ARP란? 같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC주소를 IP주소를 이용해 알아오는 프로토콜입니다.2. ARP Protocol 구성ARP 프로토콜은 총 28 byte입니다.Hardware Type = 0x 00012 계층

infoofit.tistory.com

 

[보안솔루션] 1. 보안 솔루션 시장 변화 분석

 

[보안솔루션] 1. 보안 솔루션 시장 변화 분석

보안 솔루션 시장 변화 분석위협 요인의 다양화와 네트워크 트래픽의 증대함에 따라 대응하기 위한 효율적인 장비 도입을 고려하기 시작하였고 더 나은 대응을 하기 위한 장비 또는 솔루션이

infoofit.tistory.com

 

 

반응형