[정처기 실기] 「2」 | 데이터베이스 구축 - (2.2) SQL 활용, 병행제어와 데이터 전환

728x90

[정처기 실기] 2」 | 데이터베이스 구축 - (2.2) SQL 활용, 병행제어와 데이터 전환

「1」 소프트웨어 구축

> 「2」 데이터베이스 구축

「3운영체제

「4네트워크

「5정보보안

「6」 신기술 용어

 

1. 데이터베이스 구축

> 2. SQL 활용

> 3. 병행제어와 데이터 전환

 

2. SQL 활용

기본 SQL 작성

SQL(Structured Query Language)

데이터베이스 시스템에서 데이터를 처리하기 위해 사용되는 구조적 데이터 질의 언어

SQL 문법의 종류

  - DDL(Data Definition Language) : 데이터 정의어 / 구조, 제약조건 정의

    : CREATE, ALTER, DROP, RENAME, TRUNCATE

  - DML(Data Manipulation Language) : 데이터 조작어 / 조작

    : SELECT, INSERT, UPDATE, DELETE

  - DCL(Data Control Language) : 데이터 제어어 / 보안, 권한, 무결성, 권한검사, 병행제

    : GRANT, REVOKE, COMMIT, ROLLBACK, SAVEPOINT

 

절차형 SQL

저장 프로시저(Stored Procedure)

○ 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합, 입력값 여러개 / 출력값 여러개

 

트리거

○ 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업

○ 트리거의 유형

  - 행 트리거 : FOR EACK ROW 옵션 사용

  - 문장 트리거

 

사용자 정의 함수

○ 프로시저와 사용자 정의 함수 모두 호출하게 되면 미리 정의해 놓은 기능을 수행하는 모듈, 출력값 0 / 1

 

알고리즘

알고리즘 설계 기법

○ Divide and Conquer : 문제를 최소 단위로 나눠 풀고, 각각을 다시 병합

Dynamic Programming : 더 작을 문제의 연장선으로 여기고, 과거에 구한 해를 활용

○ Greedy : 현 시점에서 가장 최적의 방법을 선택

○ Backtracking : 모든 조합을 시도하여 문제의 답 선택, 문제의 부모 노드로 되돌아간 후 다른 자손 노드 검색

3. 병행제어와 데이터 전환

병행제어와 회복

병행제어

○ 여러 트랜잭션이 동시에 실행되면서 데이터베이스의 일관성을 유지하는 기법

○ 병행제어의 문제점

  - 갱신 분실(Lost Update) : 일부 갱신 결과가 손실되는 현상

  - 비완료 의존성(Uncommitted Dependency) : 실패한 트랜잭션의 결과를 다른 트랜잭션이 참조하는 현상

  - 모순성(Inconsistency) : 병행 수행 중 원치 않는 자료를 사용하여 발생하는 문제

  - 연쇄 복귀(Cascading Rollback) : 하나의 트랜잭션이 실패해 롤백되면, 다른 트랜잭션도 함께 롤백되는 현상

○ 병행제어 기법

  - 로킹(Locking)

  - 2단계 로킹 규약(Two-Phase Locking Protocol) : 확장 단계, 축소 단계

  - 타임스탬프(Time Stamp)

  - 낙관적 병행제어(Optimistic Concurrency Control)

  - 다중 버전 병행제어(Multi-version, Concurrency Control)

 

회복(Database Recovery)

○ 장애로 인해 손상된 데이터베이스를 이전의 정상 상태로 복구하는 작업

장애의 유형 : 트랜잭션 장애, 시스템 장애, 미디어 장애

○ 회복 기법 

  - 로그 기반 회복 기법

    : 지연 갱신 회복 기법(Deferred Update) - REDO 수행

    : 즉시 갱신 회복 기법(Immediate Update) - REDO, UNDO 수행

  - 검사점 회복 기법(Checkpoint Recovery)

  - 그림자 페이징 회복 기법(Shadow Paging Recovery)

  - 미디어 회복 기법(Media Recovery)

  - ARIES 회복 기법(Algorithms for Recovery and Isolation Exploiting Semantics)

 

데이터 전환

ETL(Extraction, Transformation, Loading)

ETL : 기존 원천 시스템에서 데이터를 추출(Extraction)하고, 이를 목적 시스템의 데이터베이스에 적합한 형식과 내용으로 변환(Transformation)한 후, 목적 시스템에 적재(Loading)하는 일련의 과정

 

데이터 정제

데이터 품질 관리 대상 : 데이터 값, 데이터 구조, 데이터 관리 프로세스

 

 

 

 

 

 

출처 | 흥달쌤

 

728x90