[SQL] 트랜잭션 (Transaction)

2023. 4. 19. 18:57·SQL
728x90
728x90

트랜잭션 (Transaction)

  - 하나의 작업을 수행하는 데 필요한 데이터베이스 연산을 모아놓은 것

  - DB에서 수행되는 작업의 단위

  - 분리될 수 있는 하나 이상의 데이터베이스 조작

 

#  기본 형태

1
2
3
4
5
6
7
8
9
10
11
12
13
-- 트랜잭션 시작
START TRANSACTION;
 
-- 일련의 작업 지정
 
INSERT INTO user_tb(username, password, fullname)
VALUES ('john', '1234', 'kim');
 
INSERT INTO user_tb(username, password, fullname)
VALUES ('mike', '222', 'lee');
 
-- 트랜잭션 완료
COMMIT;
Colored by Color Scripter
cs

 

트랜잭션 제어어 (TCL)

1) COMMIT

  - 트랜잭션 수행이 성공적으로 완료됨을 선언하는 연산

  - 트랜잭션의 수행 결과가 DB에 반영되고, 일관된 상태를 지속적으로 유지함

      : 실제 물리적 저장장치에 저장됨

2) ROLLBACK

  - 트랜잭션 수행이 실패함을 선언하는 연산

  - DB가 트랜잭션 수행 전의 일관된 상태로 되돌아감

  - COMMIT 연산 이전에만 사용 가능

 

 


트랜잭션의 특성 (ACID)

1) 원자성 (Atomicity)

  - 트랜잭션 내의 연산들이 모두 정상적으로 실행되거나, 아무것도 실행되지 않아야 함

      → 장애 발생 시, 지금까지 실행한 연산 처리를 모두 취소하고, 작업 전 상태로 되돌림

2) 일관성 (Consistency)

  - 트랜잭션이 성공적으로 수행된 후에도, DB가 일관된 상태를 유지해야 함

  - 실행 전의 DB 내용이 잘못되지 않았다면, 실행 후에도 DB 내용이 잘못되지 않아야 함

3) 고립성 (Isolation)

  - 수행 중인 트랜잭션이 완료될 때까지, 다른 트랜잭션들이 중간 연산 결과에 접근할 수 없음

4) 지속성 (Durability)

  - 트랜잭션이 성공적으로 완료된 후에 DB에 반영한 수행 결과는 영구적이어야 함

 

 

320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

'SQL' 카테고리의 다른 글

[SQL] COMMENT  (0) 2023.04.21
[SQL] 쿼리 조건문 (ifnull, nullif, CASE)  (4) 2023.04.20
[SQL] 서브 쿼리  (0) 2023.04.09
[SQL] DCL - 사용자 생성과 권한 설정 (GRANT)  (0) 2023.03.14
[SQL] DML - 데이터 조회 (SELECT) & 집계 함수  (0) 2023.03.11
'SQL' 카테고리의 다른 글
  • [SQL] COMMENT
  • [SQL] 쿼리 조건문 (ifnull, nullif, CASE)
  • [SQL] 서브 쿼리
  • [SQL] DCL - 사용자 생성과 권한 설정 (GRANT)
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (384)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (9)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • etc. (13)
      • Error Note (16)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    http
    errorNote
    SWAGGER
    git
    Wordpress
    typeScript
    php
    jsp
    java
    js
    HTML
    면접
    jQuery
    SEO
    Hotkeys
    cs
    tailwindcss
    Codeigniter
    CSS
    오블완
    Android
    vuejs
    Swing
    SpringBoot
    개발일지
    SQL
    티스토리챌린지
    C#
    zapier
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[SQL] 트랜잭션 (Transaction)
상단으로

티스토리툴바