정처기 퀴즈 페이지 👇
정처기 Daily 문제
7. SQL 응용
트랜잭션
- 트랜잭션: 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
- 트랜잭션 특성: ACID(원자성, 일관성, 고립성, 영속성)

- 트랜잭션 제어언어: TCL ⇒ COMMIT, ROLLBACK, CHECKPOINT
- 병행제어(일관성 주요 기법): DB 일관성 유지를 위해 상호작용을 제어하는 기법
- 로킹: 하나의 트랜잭션을 실행하는 동안 특정 데이터 항목에 대해서 다른 트랜잭션이 동시에 접근하지 못하도록 상호배제(Mutual Exclusion) 기능을 제공하는 기법
- 낙관적 검증: 일단 트랜잭션 수행 후, 종료 시 검증을 수행해 DB에 반영하는 기법
- 타임 스탬프 순서: 실행 전 부여된 시간에 따라 트랜잭션 작업을 수행
- 다중 버전 동시성 제어(MVCC): 트랜잭션의 타임스탬프와 접근 데이터의 타임스탬프를 비교하여 직렬 가능성이 보장되는 적절한 버전을 선택하여 접근하는 기법
- 고립화 수준(고립성 주요 기법): 다른 트랜잭션이 현재의 데이터에 대한 무결성을 해치지 않기 위해 잠금을 설정하는 정도
- Read Uncommitted
- Read Committed
- Repeatable Read
- Serializable Read
- 회복 기법(영속성 주요 기법): 트랜잭션 수행하는 도중 장애로 인해 손상된 DB를 손상되기 이전의 정상적인 상태로 복구시키는 작업
- REDO: 재작업
- UNDO: 취소
- 로그 기반 회복 기법: 지연 갱신 회복 기법, 즉각 갱신 회복 능력
- 체크 포인트 회복 기법: 검사점 이후에 처리된 트랜잭션에 대해서 장애 발생 이전 상태로 복원
- 그림자 페이징 기법: 복제본을 생성하여 DB 장애 시 이를 이용해 복구
DDL (데이터 정의어)
- 스키마: DB의 구조, 제약조건 등의 정보를 담고 있는 기본적 구조
- 외부 스키마: 사용자, 개발자의 관점에서 필요로 하는 DB의 논리적 구조. 사용자뷰를 나타냄. = 서브스키마
- 개념 스키마: DB의 전체적인 논리적 구조. 전체적 뷰
- 내부 스키마: 물리적 저장 장치의 관점에서 보는 DB 구조. 실제로 DB에 저장될 레코드 형식을 정의
- 테이블: 행(Row. Tuple. Record → Cardinality) 열(Column. Attribute → Degree)
- 뷰: 논리 테이블로서 사용자에게 테이블과 동일하다.
- 인덱스: 검색 연산의 최적화를 위해 DB 내 값에 대한 주소 정보로 구성된 데이터 구조
- 종류(해비 단순 클결함)
- 해시 비트맵 단일 순서 클러스터드 결합 함수기반
DDL
- DDL 명령어: CREATE, ALTER, DROP, TRUNCATE(: DB 오브젝트 내용 삭제하는 명령어)
- 테이블 컬럼 삭제: ALTER TABLE 테이블명 DROP COLUMN 컬럼명;