[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 |
댓글