1-1. 트랜잭션
< 트랜잭션 >
- 인가받지 않은 사용자로부터 데이터를 보장하기 위해 DBMS가 가져야 하는 특성이자, 데이터베이스 시스템에서 하나의 논리적 기능을 정상적으로 수행하기 위한 작업의 기본 단위
- 트랜잭션의 특성 :
Atomicity 원자성 |
- 분해가불가능한 작업의 최소단위 - 연산 전체가 성공 또는 실패 |
Consistency 일관성 |
- 트랜잭션이 실행 성공 후 항상 일관된 데이터베이스 상태를 보존해야하는 특성 |
Isolation 격리성 |
- 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가한 특성 |
Durability 영속성 |
- 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장하는 특성 |
- 트랜잭션의 상태 변화 : 활동 / 부분 완료 / 완료 / 실패 / 철회
- TCL 명령어 : Commit / RollBack / CheckPoint
- 병행제어 : 다수 사용자 환경에서 여러 트랜잭션을 수행할 때, 데이터베이스 일관성 유지를 위해 상호작용을 제어하는 기법
- 병행제어 미보장 시 문제점 : 갱신 손실 / 현황 파악 오류 / 모순성 / 연쇄 복귀
- 병행제어 기법 종류 :
로킹 Locking |
- 트랜잭션의 순차적 진행을 보장하는 직렬화 기법 |
낙관적 검증 Validation |
- 어떠한 검증도 수행하지 않고 일단 트랜잭션을 수행하고, 트랜잭션 종료 시 검증을 수행하여 데이터베이스에 반영하는 기법 |
타임 스탬프 순서 TimeStamp Ordering |
- 트랜잭션이 실행을 시작하기 전에 타임 스탬프를 부여하여 부여된 시간에 따라 트랜잭션 작업을 수행하는 기법 |
다중 버전 동시성 제어 MVCC |
- 트랜잭션의 타임스탬프와 접근하려는 데이터의 타임스탬프를 비교하여 직렬가능성이 보장되는 적절한 버전을 선택하여 접근하도록 하는 기법 |
- 고립화 수준(격리성 주요 기법) : 다른 트랜잭션이 현재의 데이터에 대한 무결성을 해치지 않기 위해 잠금을 설정하는 정도
- 고립화 수준 종류 : Read Uncommitted / Read Committed / Repeatable Read / Serializable Read
- 회복 기법 : 트랜잭션을 수행하는 도중 장애로 인해 손상된 데이터베이스를 손상되기 이전의 정상적인 상태로 복구시키는 작업
- 회복 기법 종류 :
로그 기반 회복 기법 | - 지연 갱신 회복 기법 : 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않는 기법 - 즉시 갱신 회복 기법 : 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법 |
체크 포인트 회복 기법 | - 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복 기법 |
그림자 페이징 회복 기법 | - 복제본을 생성하여 데이터베이스 장애 시 이를 이용해 복구하는 기법 |
< 데이터 정의어 DDL >
- 데이터를 정의하는 언어로서 테이블과 같은 데이터 구조를 정의하는 데 사용되는 명령어들로 특정 구조를 생성, 변경, 삭제, 이름을 바꾸는 데이터 구조와 관련된 명령어
- DDL의 대상 :
- 도메인 : 하나의 속성이 가질 수 있는 원자값들의 집합
- 스키마 : 데이터베이스의 기본적인 구조. 내부 / 외부 / 개념
- 테이블 : 데이터 저장 공간
- 뷰 : 물리 테이블에서 유도되는 가상의 테이블
- 인덱스 : 검색을 빠르게 하기 위한 데이터 구조.
- DDL 명령어 : CREATE / ALTER / DROP / TRUNCATE
< 데이터 조작어 DML >
- 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어
- DML 유형 : SELECT / INSERT / UPDATE / DELETE
- 조인 : 두 개 이상의 테이블을 연결하여 데이터를 검색하는 방법
- 논리적 조인 유형 : 내부 조인(INNER) / 외부 조인(OUTER) / 교차 조인(CROSS) / 셀프 조인(self)
- 서브 쿼리 : SQL 문 안에 포함된 또 다른 SQL문
- 서브쿼리 유형 : SELECT절 / FROM절 / WHERE절
- 집합 연산자 : 테이블을 집합 개념으로 보고, 두 테이블 연산제 집합 연산자를 사용하는 방식
- 집합 연산자 유형 : UNION / UNION ALL / INTERSECT / MINUS
< 데이터 제어어 DCL >
- 데이터베이스 관리자가 데이터 보안, 무결성 유지, 병행 제어, 회복을 위해 관리자가 사용하는 제어용 언어
- DCL 유형 : GRANT(사용 권한 부여) / REVOKE(사용 권한 취소
2-1. 집계성 SQL 작성
<집계 함수 >
- 여러 행 또는 테이블 전체 행으로부터 하나의 결괏값을 반환하는 함수
- 집계 함수 종류 : COUNT / SUM / AVG / MAX / MIN / STDDEV / VARIAN
< 그룹 함수 >
- 테이블 전체 행을 하나 이상의 컬럼을 기준으로 컬럼 값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수
- 그룹 함수 유형 : ROLLUP / CUBE / GROUOPING SETS
< 윈도 함수 >
- 데이터베이스를 사용한 온라인 분석 처리 용도로 사용하기 위해서 표준 SQL에 추가된 함수로 OLAP 함수라고도 한다.
- 윈도 함수 분류 : 순위 함수(RANK, DENSE_RANK, ROW_NUMBER) / 행 순서 함수(FIRST_VALUE, LAST_VALUE, LAG, LEAD) / 그룹 내 비율 함수(RATIO_TO_REPORT / PERCENT_RANK)
'8. 자격증 > 8-1. 정보처리기사' 카테고리의 다른 글
정처기 실기 8-1. 개발환경 구축 / 8-2. 공통 모듈 구현 / 8-4. 배치 프로그램 구현 (0) | 2021.10.13 |
---|---|
정처기 실기 7-3. 절차형 SQL 활용하기 / 7-4. 데이터 조작 프로시저 최적화 (0) | 2021.10.12 |
정처기 실기 6-2. 언어 특성 활용하기 (0) | 2021.10.10 |
정처기 실기 6-1. 기본 문법 활용하기 (0) | 2021.10.10 |
정처기 실기 5-1. 인터페이스 설계 확인 / 5-2. 인터페이스 기능 구현 / 5-3. 인터페이스 구현 검증 (0) | 2021.10.08 |