트랜잭션

Updated:

트랜잭션이란?

  • 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다.
  • 상태 변화는 SQL을 이용하여 데이터베이스를 접근 하는 것을 의미한다
  • 작업의 단위는 질의어 한문장이 아니다. (insert문후에 select문을 한 것까지 하나의 세트로 작업의 단위가 될 수 있다)

트랜잭션의 특징

  • 원자성
    • 트랜잭션이 데이터베이스에 모두 반영되거나, 전혀 반영되지 않아야 한다
  • 일관성
    • 트랜잭션이 진행되는 동안 변화가 있어도 처음에 참조한 데이터베이스로 진행 되어야 한다
  • 독립성
    • 둘 이상의 트랜잭션이 동시에 실행되고 있을 경우 어떤 트랜잭션도 다른 트랜잭션의 연산에 끼어들 수 없어야 한다
  • 지속성
    • 트랜잭션이 성공적으로 완료됬을 경우, 결과는 영구적으로 반영되어야 한다

Commit, Rollback

  • Commit
    • 하나의 트랜잭션이 성공적으로 끝났고, 데이터베이스가 일관성있는 상태에 있을 때, 하나의 트랜잭션이 끝났다라는 것을 알려주기위해 사용하는 연산
  • Rollback
    • 하나의 트랜잭션 처리가 비정상적으로 종료되어 트랜잭션의 원자성이 깨진경우, 트랜잭션을 처음부터 다시 시작하거나, 트랜잭션의 부분적으로만 연산된 결과를 다시 취소

Leave a comment