본문 바로가기
공부/PostgreSQL

[47] PostgreSQL – 트랙색션 (Transactions)

by 혼밥맨 2023. 4. 22.
반응형

[47] PostgreSQL – 트랙색션 (Transactions)

 

트랜잭션은 우리가 듣고 있는 새로운 단어가 아닙니다. 우리는 "현금 거래" 같은 단어를 많이 들었습니다. 은행은 일반적으로 현금, 현금을 주고받는 일을 처리하므로 현금 거래라는 용어를 사용합니다. 따라서 단순히 트랜잭션은 작업 단위입니다. 기사에서는 PostgreSQL 데이터베이스 언어의 트랜잭션에 대해 알아봅니다.

 

트랜잭션은 모든 데이터베이스 언어에서 중요합니다. 추가, 삭제 업데이트를 원할 때마다 트랜잭션은 데이터 무결성 유지 기타 여러 이유로 사용됩니다. 트랜잭션이 없어도 데이터베이스를 추가, 삭제 업데이트할 있지만 데이터 무결성 손실로 인해 데이터가 수정될 가능성이 매우 높습니다.

 

Transaction 속성

이제 트랜잭션의 ACID 속성을 살펴보겠습니다.

 

원자성  (Atomicity) 속성은 모든 트랜잭션이 완료되도록 합니다. all or none 속성을 따릅니다. , 거래가 부분적으로 완료되어서는 됩니다.

일관성 (Consistency) 속성은 모든 트랜잭션이 일관성이 있는지 확인합니다. , 트랜잭션을 커밋한 해당 변경 사항이 데이터베이스에서 적절하게 업데이트되는지 여부입니다.

격리  (Isolation) 개의 트랜잭션이 실행 중이면 트랜잭션 모두 자체적인 프라이버시를 갖게 됩니다. , 하나의 트랜잭션이 다른 트랜잭션을 방해하지 않습니다.

내구성  (Durability) 속성은 시스템 장애 시에도 데이터베이스의 커밋된 데이터가 영구적으로 안전하도록 보장합니다.

 

트랜잭션의 Commands:

트랜잭션 블록에는 가지 주요 명령이 있습니다:

1)     BEGIN

2)     COMMIT

3)     ROLLBACK

이제 우리는 모든 트랜잭션 제어 명령의 중요성을 이해할 것입니다. 이를 위해 먼저 데이터베이스에 테이블을 설정해야 합니다.

이제 데이터베이스 스키마가 준비되었으므로 여기에 가지 값을 삽입합니다.

1. BEGIN

BEGIN 명령은 트랜잭션을 시작하는 사용됩니다. 트랜잭션을 시작하려면 처음에 BEGIN 명령을 내리지 않으면 데이터베이스가 트랜잭션을 인식할 없습니다.

 

예시 01:

결과 01:

2. COMMIT

COMMIT 명령은 변경 사항을 저장하고 필요한 데이터를 표시할 때마다 데이터베이스에 반영하는 사용됩니다. 예를 들어 데이터베이스의 데이터를 업데이트했지만 COMMIT 제공하지 않은 경우 변경 사항이 데이터베이스에 반영되지 않습니다. 트랜잭션에서 수행된 변경 사항을 저장하려면 해당 트랜잭션을 반드시 COMMIT해야 합니다.

 

예시 02:

결과 02:

3. ROLLBACK

ROLLBACK 명령은 트랜잭션에서 수행된 변경 사항을 실행 취소하는 사용됩니다. 우리가 알고 있듯이 데이터베이스 언어의 트랜잭션은 예를 들어 은행에서 대규모 계산을 위해 사용됩니다. 예를 들어, 은행 직원이 실수로 잘못된 사람의 잔액 기록을 증가시킨 다음 간단히 롤백하고 이전 상태로 이동할 있다고 가정합니다.

 

예시 03:

결과 03:

반응형

'공부 > PostgreSQL' 카테고리의 다른 글

[46] PostgreSQL – Continue  (0) 2023.04.22
[45] PostgreSQL – Exit  (0) 2023.04.22
[44] PostgreSQL – Loop Statement (반복문)  (0) 2023.04.22
[43] - PostgreSQL – IF Statement (IF문)  (0) 2023.04.22
[42] - PostgreSQL – CAST  (0) 2023.04.22

댓글