
< 트랜잭션(Transaction) >
- 인가받지 않은 사용자로부터 데이터를 보장하기 위해서 DBMS가 가져야 하는 특성이자 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
< 트랜잭션의 특성 >
- 원자성 (Atomicity)
- 분해가 불가능한 작업의 최소단위
- 연산 전체가 성공 또는 실패
- 하나라도 실패할 경우 전체가 취소되어야 하는 특성
- Commit/ Rollback
- 회복성 보장
- 일관성 (Consistency)
- 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야 하는 특성
- 무결성 제약조건
- 동시성 제어
- 격리성 (Isolation)
- 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가한 특성
- Read Uncommited
- Read Commitied
- Repeatable Read
- Serializable
- 영속성 (Durability)
- 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장하는 특성
- 회복기법
< 트랜잭션 제어 >
- 커밋(COMMIT)
- 트랜잭션 확정
- 트랜잭션을 메모리에 영구적으로 저장하는 명령어
- 롤백(ROLLBACK)
- 트랜잭선 취소
- 트랜잭션 내역을 저장 무효화시키는 명령어
- 체크포인트(CHECKPOINT)
- 저장 시기 설정
- ROLLBACK을 위한 시점을 지정하는 명령어
< 로킹 >
- 같은 자원을 액세스하는 다중 트랜잭션 환경에서 DB의 일관성과 무결성을 유지하기 위해 트랜잭션의 순차적 진행을 보장하는 직렬화 기법
< 회복 기법 >
- 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업
< 회복 기법 종류 >
- 로그 기반 회복 기법
- 지연 갱신 회복 기법: 트랜잭션이 완료되기 전까지 DB에 기록하지 않는 기법
- 즉각 갱신 회복 기법: 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법
- 체크 포인트 회복 기법
- 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복 기법
- 그림자 페이징 회복 기법
- DB 트랜잭션 수행시 복제본을 생성하여 DB 장애 시 이를 이용해 복구하는 기법
< DDL 대상 >
- 도메인
- 하나의 속성이 가질 수 있는 원자값들의 집합
- 속성의 데이터 타입과 크기, 제약조건 등의 정보
- 스키마
- DB의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조
- 테이블
- 뷰
- 하나 이상의 물리 테이블에서 유도되는 가상의 테이블
- 인덱스
< 스키마의 종류 >
- 외부 스키마
- 사용자나 개발자의 관점에서 필요로 하는 데이터베이스의 논리적 구조
- 사용자 뷰를 나타냄
- 서브 스키마로 불림
- 개념 스키마
- DB의 전체적인 논리적 구조
- 전체적인 뷰를 나타냄
- 개체 간의 관계, 제약조건, 접근 권한, 무결성, 보안에 대해 정의
- 내부 스키마
- 물리적 저장장치의 관점에서 보는 DB 구조
- 실제로 DB에 저장될 레코드의 형식을 정의하고 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 표현
< 프로시저 >
- 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합
< 트리거 >
- 데이터베이스 시스템에서 삽갱삭등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행되는 절차형 SQL
- 행 트리거: 데이터 변화가 생길 때마다 실행
- 문장 트리거: 트리거에 의해 단 한 번 실행