Database: Difference between revisions

From 탱이의 잡동사니
Jump to navigation Jump to search
(Created page with "== Overview == Database 원론 내용 정리 == Transaction == 데이터 베이스 내에서 한꺼번에 수행되어야 할 일련의 연산. 전부 동작되거나, 전...")
 
Line 3: Line 3:


==  Transaction ==
==  Transaction ==
데이터 베이스 내에서 한꺼번에 수행되어야 할 일련의 연산. 전부 동작되거나, 전부 안되거나.
데이터 베이스 내에서 한꺼번에 수행되어야 할 일련의 연산. 즉, 연산이 전부 동작되거나, 전부 안되거나해야 한다.


* 한꺼번에 완료가 된 경우에는 성공적인 종료 후, COMMIT : 이 경우, 모든 작업 결과는 데이터베이스에 반영되게 된다.
* 한꺼번에 완료가 된 경우에는 성공적인 종료 후, COMMIT : 이 경우, 모든 작업 결과는 데이터베이스에 반영되게 된다.
Line 25: Line 25:
: 데이터를 다시 로드하고 트랜젝션을 재생하여 원래 트랜젝션이 수행된 후의 상태로 데이터를 돌릴 수 있어야 한다.
: 데이터를 다시 로드하고 트랜젝션을 재생하여 원래 트랜젝션이 수행된 후의 상태로 데이터를 돌릴 수 있어야 한다.


다음의 예를 보자.
<pre>
카드하나를 들고서 은행 인출기 앞으로 간다.


1. 카드를 넣는다.
2. 어떤거래를 할지 선택을하고
3. 비밀번호를 눌러 인증을 받고
4. 거래를 완료한다.
이 네가지 과정을 묶어서 트랜잭션이라고 한다.
</pre>
거래까지 완료됬으면 COMMIT
중간에 비밀번호를 틀리거나, 인증을 받았는데 거래를 취소하거나 하는 일이 발생해서 처음으로 돌아갈경우에는 ROLLBACK 이라고 한다.
== See also ==
* http://121202.tistory.com/17 - [DB용어] 트랜잭션( transaction ) 이란 ?
[[category:programming]]
[[category:programming]]

Revision as of 09:03, 11 December 2015

Overview

Database 원론 내용 정리

Transaction

데이터 베이스 내에서 한꺼번에 수행되어야 할 일련의 연산. 즉, 연산이 전부 동작되거나, 전부 안되거나해야 한다.

  • 한꺼번에 완료가 된 경우에는 성공적인 종료 후, COMMIT : 이 경우, 모든 작업 결과는 데이터베이스에 반영되게 된다.
  • 취소가 된 경우에는 비정상적인 종료 후, ROLLBACK : 이 경우, 모든 작업 결과는 취소되며, 데이터베이스에 반영되지 않는다.

Properties

  • 원자성(Atomicity)
분리할 수 없는 하나의 단위로 작업은 모두 완료되거나 모두 취소 되어야 한다.
  • 일관성(Consistency)
사용되는 모든 데이터는 일관되어야 한다.
  • 격리성(Isolation)
접근하고 있는 데이터는 다른 트랜젝션으로부터 격리되어야 한다.
트랜젝션이 진행되기 전과 완료된 후에는 상태를 볼 수 있지만, 트랜젝션이 진행되는 중간의 데이터를 볼 수는 없다.
  • 영속성(Durability)
트랜잭셕이 정상 종료되면 그 결과를 시스템에 영구적으로 적용되어야 한다.
  • 순차성(Sequentiality)
데이터를 다시 로드하고 트랜젝션을 재생하여 원래 트랜젝션이 수행된 후의 상태로 데이터를 돌릴 수 있어야 한다.

다음의 예를 보자.

카드하나를 들고서 은행 인출기 앞으로 간다.

1. 카드를 넣는다.
2. 어떤거래를 할지 선택을하고
3. 비밀번호를 눌러 인증을 받고
4. 거래를 완료한다.

이 네가지 과정을 묶어서 트랜잭션이라고 한다.

거래까지 완료됬으면 COMMIT

중간에 비밀번호를 틀리거나, 인증을 받았는데 거래를 취소하거나 하는 일이 발생해서 처음으로 돌아갈경우에는 ROLLBACK 이라고 한다.


See also