1. 트랙잭션:
1) 개념
인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위이다.
2) 특성
3) 트랜잭션 상태 변화:

4) 트랜재션 제어:
TCL 명령어:
-Commit: 트랜잭션 확정
-Rollback: 트랜잭션 취소
-Checkpoint: 저장 시기 설정(Rollback 시점 지정)
5) 병행제어(일관성 주요 기법):
개념: 다수 사용자 환경에서 여러 트랜잭션 수행 시, DB 일관성 유지 위한 상호작용 제어 기법
목적: DB 공유 최대화 / 시스템 활용도 최대화 / 일관성 유지 / 사용자에 대한 응답시간 최소화
종류:
Locking: 실행 중인 트랜잭션을 다른 트랜잭션이 동시 접근하지 않도록 상호배제 기능 제공
로킹의 특징
-DB, File, Record 등은 로킹 단위가 될 수 있음
-로킹 단위가 작아지면 DB 공유도 증가
-로킹 단위가 작아지면 로킹 오버헤드 증가
-한꺼번에 로킹할 수 있는 객체 크기 = 로킹 단위
Optimistic Validation(낙관적 검증): 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행하고, 종료 시 검증 수행하여 DB에 반영
Time Stamp Ordering(타임 스탬프 순서): 트랜잭션 실행 전에 타임 스탬프 부여하여 부여된 시간에 따라 작업 수행
MVCC(Multi Version Concurrency Control=다중버전 동시성 제어): 트랜잭션의 타임스탬프와 접근하려는 데이터의 타임스탬프를 비교, 직렬가능성이 보장되는 버전을 선택하여 접근
2PC(2 Phase Commit): 동시성 제어 기술 중 하나. 여러 개 분산 DB 데이터베이스 시스템에서 트랜재션의 일관성 유지 위한 기법
-1 단계: 준비단계. 트랜잭션 수행 결과를 다른 분산 시스템에 알림
-2단계: 커밋단계. 모든 분산 시스템에서 트랜잭션 수행 결과가 일치하는 지 확인. 트랜잭션 모두 성공 시 커밋 수행, 아니면 롤백 수행
6) DB 고립화 수준(격리성 주요 요법):
다른 트랜잭션이 현재의 데이터 무결성을 해치지 않기 위해 잠금을 설정하는 정도
종류:
7) 회복 기법(영속성 주요 기법)
REDO
- 데이터베이스가 비정상적으로 종료되었을 때 디스크에 저장된 로그를 분석하여 트랜잭션의 시작(Start)과 완료(Commit)에 대한 기록이 있는 트랜잭션들의 작업을 재작업하는 기법.
- DB 내용 자체 손상 시, 가장 최근의 복제본을 적재한 후 이후 일어난 변경만을 로그를 이용하여 재실행함으로써 DB 복원 기법
UNDO
- 데이터베이스가 비정상적으로 종료되었을 때 디스크에 저장된 로그를 분석하여 트랜잭션의 시작(Start)는 있지만, 완료(Commit) 기록이 없는 트랜잭션들이 작업한 변경 내용들을 모두 취소하는 기법
- DB 내용 자체는 손상되지 않았지만, 변경 중이거나 변경된 내용에 대한 신뢰성을 잃어버린 경우, 모든 변경 내용을 취소하여 복원하는 기법
회복기법 종류
자연 갱신 회복 기법(Deferred Update): 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않는 기법
즉각 갱신 회복 기법(Immediate Update): 트랜잭션 수행 중 갱신 경과를 바로 DB에 반영하는 기법