본문 바로가기

개발공부/정보처리기사

정보처리기사(정처기) 실기 - 7단원 총정리

7단원은 이것만 외우면 끝!


트랜잭션 :  DB시스템에서 하나의 논리적인 기능을 수행하기 위한 작업의 기본 단위
트랜잭션의 특성 : ACID (원일격영) ( Atomicity(원자성) - Consistency(일관성) - Isolation(격리성) - Durability(영속성) ) 
- Atomicity(원자성) : 트랜잭션의 특성 - 분해가 불가능한 작업의 최소단위, 연산 전체가 성공 또는 실패
- Consistency(일관성) : 트랜잭션의 특성 - 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존
- Isolation(격리성) : 트랜잭션의 특성 - 트랜잭션 실행 중 연산의 중간 결과를 다른 트랜잭션이 접근 불가
- Durability(영속성) : 트랜잭션의 특성 - 성공 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장

커밋(COMMIT)  : 트랜잭션 제어언어 TCL - 트랜잭션을 메모리에 영구적으로 저장
롤백(ROLLBACK)  : 트랜잭션 제어언어 TCL - 오류가 발생했을 때, 오류 이전의 특정 시점 상태로 되돌려주는 제어어
체크포인트(CHECKPOINT)  : 트랜잭션 제어언어 TCL - 롤백을 위한 시점을 지정

병행제어 기법 종류 : 로낙타다 ( 로킹 - 낙관적 검즘 - 타임 스탬프 순서 - 다중버전 동시성 제어)
- 로킹(Locking) : 병행제어 기법 종류 - 하나의 트랜잭션이 데이터를 액세스 하는 동안 다른 트랜잭션이 액세스할 수 없도록 제어 , 일관성과 무결성을 유지하기 위한 트랜잭션의 순차적 진행을 보장하는 직렬화 기법
- 낙관적 검증  : 병행제어 기법 종류 - 일단 트랜잭션을 수행하고, 트랜잭션 종료 시 검증을 수행
- 타임 스탬프 순서  : 병행제어 기법 종류 - 타임 스탬프를 부여해 부여된 시간에 따라 트랜잭션 수행
- 다중버전 동시성 제어(MVCC)  : 병행제어 기법 종류 - 타임스탬프를 비교해 직렬가능성이 보장되는 적절한 버전을 선택해 접근하도록 함

Read Uncommitted : 고립화 수준 종류 - 한 트랜잭션에서 연산 중인 데이터를 다른 트랜잭션이 읽는 것 허용
Read Committed : 고립화 수준 종류 - 한 트랜잭션의 연산이 완료된 후 읽기 가능
Repeatable Read : 고립화 수준 종류 - 트랜잭션 종료 시까지 해당 데이터에 대한 갱신, 삭제 제한
Serializable Read : 고립화 수준 종류 - 특정 데이터 영역을 순차적으로 읽을 때, 해당 데이터 영역 전체에 대한 접근 제한

회복(Recovery) 기법 - 영속성 주요 기법 : 트랜잭션 수행 도중 장애로 인해 손상된 데이터베이스를 손상 이전의 정상적인 상태로 복구시키는 작업
지연 갱신 회복 기법(Deferred) , 즉각 갱신 회복 기법(Immediate)  : 로그 기반 회복 기법 종류
지연 갱신 회복 기법(Deferred)  : 로그 기반 회복 기법 - 트랜잭션이 완료된 후에 데이터베이스에 기록
즉각 갱신 회복 기법(Immediate)  : 로그 기반 회복 기법 - 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영
체크 포인트 회복 기법  : 장애 발생 이전의 상태로 복원
그림자 페이징 회복 기법  : DB 트랜잭션 수행 시 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구하는 기법

도메인  : 하나의 속성이 가질 수 있는 원자 값들의 집합
스키마  : 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조
인덱스 (Index) :  검색 연산의 최적화를 위해 키값과 포인터의 쌍으로 구성되는 데이터 구조
뷰 (View) :  사용자에게 허용된 정보만 보여주기 위해 하나 이상의 테이블로부터 유도된 논리적인 가상 테이블

집계 함수 - 그룹 함수 - 윈도 함수 : 데이터 분석 함수의 종류
집계 함수 : 데이터 분석 함수의 종류 - 여러 행 또는 테이블 전체 행으로부터 하나의 결과 값을 반환하는 함수
그룹 함수 : 데이터 분석 함수의 종류 - 소그룹 간의 소계 및 중계 등의 중간 합계 분석 데이터를 산출하는 함수, 컬럼 값에 따라 그룹화해 그룹별로 결과를 출력하는 함수 (ROLLUP, CUBE, GROUPING SETS)
윈도 함수  : 데이터 분석 함수의 종류 - DB를 사용한 온라인 분석 처리 용도로 사용하기 위해서 표준 SQL에 추가된 기능, OLAP(온라인 분석 처리, 의사결정 지원 시스템) 함수라고도 함  (순위함수, 행 순서 함수, 그룹 내 비율 함수)

절차형 SQL :  특정 사용자가 실행 순서를 정해놓고 사용하는 SQL문
프로시저 :  사전에 정의해놓은 SQL문을 호출할 경우 특정 작업을 수행하는 서브 프로그램(값 반환 X)
사용자 정의 함수 :  일련의 SQL 작업을 연속적으로 처리, 처리 결과를 단일 값으로 반환하는 절차형 SQL
트리거 :  테이블에 수정/삭제/삽입 등의 이벤트 발생 시 자동으로 DBMS에서 실행되도록 한 프로그램

옵티마이저(Optimizer)  :  SQL을 가장 빠르고 효율적으로 수행할 수 있는 최적의 경로(=실행 계획) 생성
규칙기반 옵티마이저(RBO)  : 옵티마이저 유형 - 통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행계획을 선택
비용기반 옵티마이저(CBO)  : 옵티마이저 유형 - 통계 정보로부터 모든 접근 경로를 고려한 질의 실행계획을 선택

힌트 (HINT) :  실행하려는 SQL문에 사전에 정보를 주어 SQL문 실행에 빠른 결과를 가져오는 효과를 만드는 기법
슈퍼키(SUPER KEY) : 유일성은 만족, 최소성은 불만족
후보키 : 유일성 만족, 최소성 만족
GRANT SELECT ON 테이블 TO 사용자 (WITH GRANT OPTION)  :  A에게 B테이블 SELECT문 이용할 수 있는 권한 부여(+다른사람에게 권한 부여할 수 있는 권한)