본문 바로가기

안녕하세요!

자격증 준비/SQLD

[ SQLD ] TCL(Transaction Control Language)


 

TCL


 

TCL(Transaction Control language)

Transaction을 제어하는 명령어로

COMMIT, ROLLBACK, SAVEPOINT 등이 있다.

여기서 TRANSACTION이란

더 이상 쪼개질 수 없는 업무 처리의 단위이다.

 

특징 설명
원자성(Atomicity) Transaction이 묶여 있는 동작들은 모두 성공하거나 실패해야 함
일관성(Consistency) Transaction이 완료된 이후에도 계산된 결괏값 등, DB의 Data에 일관성이 있어야 함
고립성(Isolation) 하나의 Transaction은 한 고객에게 할당된 제품은 구매 불가능한 것처럼 고립되어 수행되어야 함
지속성(Durability) Transaction이 성공적으로 수행되었을경우, Transaction이 변경한 Data가 영구적으로 저장돼야 함

 

COMMIT


 

INSERT, DELETE, UPDATE 이후

변경된 내용, 즉  COMMIT을 실행한 메모리만 DB에 반영된다.

 

ROLLBACK


 

ROLLBACK

INSERT, DELETE, UPDATE 이후

변경된 내용을 취소하면 변경 이전 값으로 복구시켜 준다.

 

SAVEPOINT


 

SAVEPOINT는 

ROLLBACK을 수행할 때 전체 작업을 되돌리지않고

일부만되돌릴 수 있도록 한다.

ROLLBACK 뒤에 특정 SAVEPOINT를 지정해주면 그 지점까지만 데이터가 복구된다.

 

 

 

 

[ SQLD ] DDL(Data Definition Language)

DDL DDL(Data Definition Language)은Schema와 Domain, Table, View, Index를 정의 및 변경, 제거할 때 사용한다.DDL의 경우, Auto COMMIT 되기 때문에DDL이 수행되면 ROLLBACK이 되어도 데이터는 COMMIT 된다. CREATE TABLE AS CR

pythonchoboman.tistory.com


 

[ SQLD ] DML(Data Manipulation Language)

DML DML(Data Manipulation Language)은SELECT, INSERT, UPDATE, DELETE 등으로DB 내의 Data를 조작하는 데에 사용돤다.DML은 Host 프로그램 속에 삽입되어 사용하기에,데이터 부속어(Data Sub Language)라고도 불리우기도

pythonchoboman.tistory.com


 

 

[ SQLD ] SQL 삭제 문(DROP, TRUNCATE, DELTE) 비교

DROP TABLETRUNCATE TABLEDELETE FROMDDLDDL(+DML)DMLAuto CommitAuto CommitUser CommitROLLBACK 불가능ROLLBACK 불가능Commit 전에 ROLLBACK 가능Table의 모든 Data 삭제Table의 모든 Data 삭제Table의 모든 Data 삭제Disk 초기화(= 로그 제

pythonchoboman.tistory.com

 


loading