Database

From 탱이의 잡동사니
Revision as of 09:03, 11 December 2015 by Pchero (talk | contribs) (→‎Transaction)
Jump to navigation Jump to search

Overview

Database 원론 내용 정리

Transaction

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

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

Properties

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

다음의 예를 보자.

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

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

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

거래까지 완료됬으면 COMMIT

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


See also