TCL

2023. 10. 25. 01:31BOOKS/SQL 전문가 가이드

 
SQL 전문가 가이드
SQL 전문가 가이드는 SQL 자격검정 대비 수험서로 데이터베이스와 데이터 모델링에 대한 지식을 바탕으로 최적의 성능을 발휘할 수 있도록 SQL을 작성하고 데이터베이스 프로그램이나 응용 소프트웨어의 성능을 최적화하고 데이터베이스 개체의 설계와 구현을 위해 데이터 모델링의 이해, SQL기본 및 활용, SQL 고급 활용 및 튜닝 등의 실무가이드로 구성되어 있다.
저자
한국데이터산업진흥원
출판
한국데이터산업진흥원
출판일
2021.03.15

1. 트랜잭션 개요

트랜잭션

  • 데이터베이스의 논리적 연산단위
  • 밀접히 관련돼 분리될 수 없는 한 개 이상의 데이터베이스 조작
  • 하나의 트랜잭션은 하나 이상의 SQL문장 포함
  • 분할할 수 없는 최소 단위
  • 전부 적용하거나 전부 취소함

트랜잭션의 특성

2. COMMIT

  • 입력, 수정, 삭제한 데이터에 대해 전혀 문제가 없다고 판단됐을 경우 COMMIT명령어로 트랜잭션 완료할 수 있음

COMMIT이후

  • 데이터에 대한 변경 사항 데이터베이스에 반영
  • 이전 데이터는 영원히 잃어버림
  • 모든 사용자가 결과를 볼 수 있음
  • 관련된 행에 대한 잠금(LOCKING)이 풀리고, 다른 사용자들이 행을 조작할 수 있게 됨

SQL SERVER의 COMMIT

  • 기본적으로 AUTO COMMIT 모드 → DML 수행 후 COMMIT이나 ROLLBACK 처리할 필요 X
  • 암시적 트랜잭션
  • 명시적 트랜잭션
    • BEGIN TRANSACTION (BEGIN TRAN)
    • COMMIT TRANSACTION (COMMIT)
    • ROLLBACK TRANSACTION (ROLLBACK)

3. ROLLBACK

  • 테이블 내 입력, 수정, 삭제한 데이터에 대해 COMMIT이전에는 변경 사항을 취소할 수 있음
  • 관련행에 대한 LOCKING이 풀리고 다른 사용자들이 데이터 변경을 할 수 있음

SQL Server의 ROLLBACK

  • 명시적으로 트랜잭션을 선언해야함

ROLLBACK 이후

  • 데이터에 대한 변경 사항 취소
  • 데이터가 트랜잭션 시작 이전 상태로 되돌려짐
  • 관련된 행에 대한 잠금(LOCKING)풀리고 다른 사용자들이 행을 조작할 수 있게 됨

※ COMMIT과 ROLLBACK의 효과

  • 데이터 무결성 보장
  • 영구적인 변경하기 전 데이터 변경 사항 확인 가능
  • 논리적인 연관된 작업을 그룹핑해 처리 가능

4. SAVEPOINT

  • ROLLBACK할 때 트랜잭션 전체가 아니라 현 시점에서 SAVEPOINT까지만 롤백할 수 있음
  • 저장점 여러개 정의 가능
  • 동일 이름으로 여러개 정의했을 경우 마지막 정의한 저장점만 유효
  • SQL Server는 SAVE TRANSACTION (SAVE)사용하여 동일한 기능 수행

※ 자동으로 트랜잭션이 종료되는 경우

  • CREATE,ALTER,DROP,RENAME,TRUNCATE TABLE 등 DDL문장을 실행하면 그 전후 시점에 자동으로 커밋 수행
  • 데이터베이스를 정상적으로 접속 종료하면 자동으로 트랜잭션이 커밋됨
  • 애플리케이션의 이상종료로 데이터베이스와의 접속이 단절됐을 때는 트랜잭션이 자동으로 롤백됨

'BOOKS > SQL 전문가 가이드' 카테고리의 다른 글

DCL  (0) 2023.10.25
DDL  (1) 2023.10.25
DML  (0) 2023.10.25
정규 표현식  (1) 2023.10.25
PIVOT절과 UNPIVOT절  (0) 2023.10.25