[정처기 실기] 「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)하는 일련의 과정
데이터 정제
○ 데이터 품질 관리 대상 : 데이터 값, 데이터 구조, 데이터 관리 프로세스
출처 | 흥달쌤
'💠기타 > 자격증' 카테고리의 다른 글
[정처기 실기] 「3」 | 운영체제 - (3.2) 운영체제(2) (0) | 2024.03.31 |
---|---|
[정처기 실기] 「3」 | 운영체제 - (3.1) 운영체제(1) (0) | 2024.03.31 |
[정처기 실기] 「2」 | 데이터베이스 구축 - (2.1) 데이터베이스 구축 (1) | 2024.03.29 |
[정처기 실기] 프로그래밍 문제 이론 - JAVA, Python (2) | 2024.03.29 |
[정처기 실기] 「1」 | 소프트웨어 구축 - (1.6) 소프트웨어 유지보수, 제품 소프트웨어 패키징 (0) | 2024.03.28 |