상세 컨텐츠

본문 제목

트랜잭션 관리란?(トランザクション管理とは?)

일본어/CS지식(일본어)

by Gopythor 2023. 3. 18. 20:40

본문

728x90
반응형

자주 쓰는 기능이지만, 어떤 기능인지 모르는 경우가 있다.

1 ) 트랜잭션 관리란?

2) 어떤 때에 필요한가?

3) 실제 사용법

 

트랜잭션 관리는 복수의 SQL문을 1세트로 다루는 기능이다

프로그램에서 데이터베이스를 처리할때 SQL문을 사용한다.

Table A에 대해 데이터를 등록하고, Table B에 대해 데이터를 등록 할때 개별의 SQL문을 실행한다.

어플리케이션 개발에서 1가지 프로세스를 처리 할 때, 다수의 SQL문을 실행하는 경우가 있다.

쇼핑몰의 경우에는 상품 테이블(상품 정보), 주문 테이블(주문자 정보), 주문명세 테이블(주문 내용)이 있다.

① 주문자의 정보를 주문 테이블에 보존한다.

② 주문된 상품, 주문 수량 등을 주문 명세 테이블에 보존한다.

③ 상품 데이블에 등록되있는 해당 상품의 재고를 줄인다.

1가지 프로세스에 3가지 SQL문이 실행된다.

어떤 문제로 인해 재고가 갱신이 되지 않고, 주문자 정보와 주문 명세만 등록이 된다면 재고에 문제가 발생한다. 큰 문제로 번질 문제가 있다.

개별적으로 SQL을 실행하면 에러가 발생 시 해당 사고가 발생할 수 있다. 정합성이 없는 위험성이 있다.

 

이를 위해 전 SQL문을 하나로 묶어서 처리하는 것이 트랜잭션이다. 에러가 발생하면 변경 내용을 전부 파기 한다. 이것이 트랜잭션 관리이다.

 

START TRANSACTION으로 트랜잭션 관리를 시작함을 지시

COMMIT로 SQL을 확정

ROLLBACK은 변경 내용을 파기

START TRANSACTION은 다음의 SQL 명령들을 트랜잭션 관리 하겠다는 것이다.

변경할 SQL 문들을 쓰고 에러가 없을 시 COMMIT를 입력한다.

에러가 발생 시 ROLLBACK을 진행한다.

 

데이터의 정합성을 위해 트랜잭션 관리를 하도록 한다.

 

출처 : https://www.youtube.com/watch?v=KKOxIuwCjcQ

 

 

 

728x90
반응형

관련글 더보기

댓글 영역