55일차 (1) - SQL (TCL)

Yohan·2024년 5월 9일
0

코딩기록

목록 보기
77/156
post-custom-banner

트랜잭션

하나 이상의 데이터베이스 연산이 묶여서 하나의 논리적인 작업 단위로 처리되는 것

트랜잭션 특징 (ACID)

  • 원자성(Atomicity): 트랜잭션은 일련의 연산 중 하나라도 실패하면 전체 연산이 취소
    -> 가장 중요!!!
  • 일관성(Consistency): 트랜잭션이 완료되면 데이터베이스의 일관성이 유지
  • 격리성(Isolation): 여러 개의 트랜잭션이 동시에 수행될 때 각각의 트랜잭션이 서로에게 영향 X
  • 지속성(Durability): 트랜잭션이 완료되면 그 결과가 영구적으로 반영

TCL(Transaction Control Language)

트랜잭션의 처리를 위한 명령어들의 집합

TCL 명령어

  • COMMIT: 현재까지 수행한 트랜잭션의 결과를 데이터베이스에 저장
    COMMIT 명령어를 실행하면 트랜잭션이 종료되고, 데이터베이스의 일관성이 유지됨
  • ROLLBACK: 현재까지 수행한 트랜잭션의 결과를 취소하고, 트랜잭션을 초기 상태로 되돌린다. ROLLBACK 명령어를 실행하면 트랜잭션이 종료되고, 데이터베이스의 일관성이 유지됨
    -> 마지막으로 COMMIT했던 때로 돌아간다.
  • SAVEPOINT: 현재 트랜잭션 내에서 중간에 SAVEPOINT를 설정하여, 해당 지점까지의 작업을 롤백할 수 있도록 한다. SAVEPOINT를 설정하면 ROLLBACK TO SAVEPOINT를 사용하여 해당 지점까지의 작업을 취소할 수 있다.
  • ROLLBACK TO SAVEPOINT: SAVEPOINT 지점까지 수행한 작업을 취소하고, SAVEPOINT 이후의 작업은 유지한다.
  • 오라클은 DDL 수행시 자동 커밋, SQL Server는 자동커밋 x

DELETE FROM 과 TRUNCATE TABLE의 차이

  • DELETE FROM는 ROLLBACK으로 복구 가능
  • TRUNCATE TABLE은 ROLLBACK으로 복구 불가능
profile
백엔드 개발자
post-custom-banner

0개의 댓글