Transaction: 두 판 사이의 차이
youngwiki
새 문서: 상위 문서: SQL ==개요== ==각주== 분류:데이터베이스 시스템 |
편집 요약 없음 |
||
| 2번째 줄: | 2번째 줄: | ||
==개요== | ==개요== | ||
'''Transaction'''이란 '''하나 이상의 쿼리(query) 또는 갱신(update) SQL 문장의 연속정인 실행 단위'''이다. 즉, transaction은 논리적으로 하나의 작업 단위(unit of work)로 간주된다. 이때 어떠한 SQL 쿼리를 실행하면 transaction은 자동으로(implicitly) 실행되며, 모든 실행을 마친 후 다음 SQL 키워드 중 하나가 transaction을 종료해야 한다.<ref>밑에서 work 키워드는 optional하다. 즉 안써도 무방하다.</ref> | |||
* '''commit work''': 현재 transaction을 commit한다. 이는 transaction에 의해 수행된 모든 갱신을 데이터베이스에 영구적으로 반영한다. | |||
* '''rollback work''': 현재 transaction을 rollback한다. 즉, transaction에 의해 수행된 모든 갱신을 되돌린다. | |||
또한, 데이터베이스 시스템은 '''transaction의 atomic성을 보장'''한다. 즉, transation의 모든 갱신이 반영되거나, 하나도 반영되지 않는다. 따라서 위의 모든 SQL 예제 들에 transaction 개념을 제공하면, 여러 개의 갱신 문장은 하나의 transaction으로 묶여서 실행되야 한다. 이중 하나의 문장에서 오류가 발생하면, 해당 transaction의 이전 문장들이 수행한 여러 갱신들의 효과는 모두 되돌려진다. | |||
그리고 transaction은 '''insolation''' 특성을 가진다. 이는 transaction이 다른 transcation들과 서로 간섭하지 않고 독립적으로 처리되어야 한다는 것을 의미한다. | |||
==각주== | ==각주== | ||
[[분류:데이터베이스 시스템]] | [[분류:데이터베이스 시스템]] | ||
2025년 4월 9일 (수) 11:48 판
상위 문서: SQL
개요
Transaction이란 하나 이상의 쿼리(query) 또는 갱신(update) SQL 문장의 연속정인 실행 단위이다. 즉, transaction은 논리적으로 하나의 작업 단위(unit of work)로 간주된다. 이때 어떠한 SQL 쿼리를 실행하면 transaction은 자동으로(implicitly) 실행되며, 모든 실행을 마친 후 다음 SQL 키워드 중 하나가 transaction을 종료해야 한다.[1]
- commit work: 현재 transaction을 commit한다. 이는 transaction에 의해 수행된 모든 갱신을 데이터베이스에 영구적으로 반영한다.
- rollback work: 현재 transaction을 rollback한다. 즉, transaction에 의해 수행된 모든 갱신을 되돌린다.
또한, 데이터베이스 시스템은 transaction의 atomic성을 보장한다. 즉, transation의 모든 갱신이 반영되거나, 하나도 반영되지 않는다. 따라서 위의 모든 SQL 예제 들에 transaction 개념을 제공하면, 여러 개의 갱신 문장은 하나의 transaction으로 묶여서 실행되야 한다. 이중 하나의 문장에서 오류가 발생하면, 해당 transaction의 이전 문장들이 수행한 여러 갱신들의 효과는 모두 되돌려진다.
그리고 transaction은 insolation 특성을 가진다. 이는 transaction이 다른 transcation들과 서로 간섭하지 않고 독립적으로 처리되어야 한다는 것을 의미한다.
각주
- ↑ 밑에서 work 키워드는 optional하다. 즉 안써도 무방하다.