Clean & Blue 자세히보기

전공/정보처리기사 실기

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(5) /데이터베이스 기초 활용하기 -2

_청렴 2021. 5. 16. 23:22
반응형

NCS 정보처리기사

- 관계 대수(Relation Algebra)

관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 언어

 

- 순수관계 연산자

  • select : 시그마(σ) : σ(조건)(R)
  • project : 파이(π) : π(속성리스트)(R) : 주어진 릴레이션에서 속성 리스트에 제시된 애트리뷰트만을 추출하는 연산, 수직 연산자
  • join : 조인(⋈) : R⋈키속성r=키속성sS : 공통 속성을 중심으로 두개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만듦 -> =, ≠, <, >, ≤ 등 비교 연산자를 θ로 일반화하여 세타조인이라고도 함
  • division : ÷ : 릴레이션 R(X), S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진속성을 제외 -> R[속성r ÷ 속성s]S

 

- 일반 집합 연산자 

  • 합집합(Union) : R S -> 중복되는 튜플은 제거 -> 카디널리티 |R ∪ S| ≤ |R| + |S|
  • 교집합(Intersection) : R S -> |R ∩ S| ≤ MIN{|R|,|S|}
  • 차집합(Difference) : R - S -> |R - S| ≤ |R|
  • 교차곱(Cartesioan Product) : R X S -> |R X S| = |R| x |S| -> 두 릴레이션에 있는 튜플들의 순서쌍을 구하는 연산

 

- 데이터베이스 트랜잭션데이터베이스 상태를 변환시키기 위해서 수행하는 작업의 단위

  • 원자성(Atomicity) : 분해가 불가능한 최소단위, 연산 전체가 성공 혹은 실패
  • 일관성(Consistency) : 항상 모순없이 일관성 있는 DB 상태 보존
  • 고립성(Isolation) : 트랜잭션 실행 중 생성하는 연산의 중간결과를 다른 트랜잭션이 접근 불가
  • 영속성(Durability) : 성공이 완료된 트랜잭션의 결과는 영구적으로 DB에 기록됨

 

- Commit : 하나의 트랜잭션이 끝났나라는 것을 알려주기 위해 사용

- RollBack : 트랜잭션을 처음부터 다시 시작하거나 부분적으로만 연산된 결과 취소

 

- 트랜잭션 상태

  • 활동 상태
  • 부분 완료 상태
  • 완료 상태
  • 실패 상태
  • 철회 상태

 

 

- 회복

트랜잭션을 실행하는 도중 장애(Failure)가 발생하여 데이터베이스가 손상되었을 경우 손상되기 이전의 정상 상태로 복구하는 작업

-> 장애 유형

  • 실행 장애
  • 트랜잭션 장애
  • 시스템 장애
  • 미디어 장애

- 회복 기법

- 지연 갱신(Deferred Update) 기법

트랜잭션이 성공적으로 종료될 때 까지 데이터베이스에 대한 실질적인 갱신을 연기

-> 트랜잭션이 실행되는 동안 변경된 내용은 로그에 보관

-> RollBack되면 실제 DB에 영향을 미치지 않기 때문에 어떠한 변경 내용도 취소 시킬 필요 없음

 

- 즉시 갱신 기법(Immediate Update)

트랜잭션이 데이터를 변경하면 트랜잭셔이 부분완료되기 전이라도 즉시 실제 데이터베이스에 반영

-> 변경된 모든 내용 로그 보관

-> 회복 작업 수행 시 Redo, Undo

 

- 그림자 페이지(Shadow Paging) 기법

갱신 이전의 데이터베이스를 일정크기의 페이지 단위로 구성, 각 페이지마다 복사본 그림자 페이지 별도 보관, 실제 페이지 대상으로 트랜잭션에 대한 변경 작업 수행

-> RollBack 시 그림자 페이지를 변경된 실제 페이지와 대체

 

- 검사점 기법

Redo, Undo 수행 시 로그 전체 조사를 피하기 위해

-> 주기적으로 검사점을 로그에 보관, 가장 최근 검사점으로부터 회복 작업 수행

 

- 미디어 회복 기법

안전한 저장장치에 덤프, 로그 이용하여 최근 덤프 이후의 트랜잭션 Redo

 

 

- 병행 제어 기법(Concurrency Control)

다중 사용자 환경을 지원하는 데이터베이스 시스템에서 여러 트랜잭션들이 성공적으로 동시에 실행 될 수 있도록 -> 동시성 제어

 

- 병행 제어를 하지 않을 경우

  • 갱신 내용 손실 : 동일 데이터를 동시에 갱신할 경우 -> 이전 트랜잭션이 데이터를 갱신한 후 트랜잭션을 종료하기 전에 나중 트랜잭션이 갱신 값을 덮어씀
  • 현황 파악 오류(Dirty Read) : 트랜잭션의 중간 수행 결과를 다른 트랜잭션이 참조함으로써 발생 
  • 모순성 : 복수의 사용자가 동시에 DB를 Acess하여 갱신한 결과 DB내의 DATA들이 상호 일치하지 않음
  • 연쇄 복귀(Cascading RollBack) 혹은 회복 불능(Unrecoverability) : 복수의 트랜잭션이 Data 공유시 특정 트랜잭션이 처리의 취소를 하고자 할때 다른 트랜잭션이 이미 처리한 부분에 대해서는 취소 불가한 상태 발생

 

- 2단계 잠금 기법(2 Phase Locking)

  1. 확장 단계 : 트랜잭션에서 잠금만 수행
  2. 차단 단계 : 데이터 연산만 수행
  3. 수축 단계 : 트랜잭션에서 해제만 수행

 

- 타임스탬프 순서 기법

트랜잭션 순서 규칙은 해당 트랜잭션의 도착시간 별로 타임스탬프 할당, 먼저 온 트랜잭션이 우선

 

* 잠금 : 하나의 트랜잭션에 사용되는 데이터를 다른 트랜잭션이 접근하지 못하게 하는 것

 -> 잠금 -> 실행 -> 해제

 

* 잠금 단위 : 병행 제어에서 한번에 잠글 수 있는 단위

* 교착상태 : 한 트랜잭션이 사용하기 위해 잠가 놓은 자원을 사용하기 위해 기다리므로 실행을 전혀 진전시키지 못하고 무한정 기다릴 때 

 -> 상호배제, 환형대기, 점유대기, 비선점

 

- 검증(Validation) 기법

먼저 메모리 상에서 복사복에 대한 연산 수행 후 검증 완료 시 DBMS에 반영

  • 읽기 단계 : 메모리 상에서 데이터 연산
  • 검증 단계 : 트랜잭션의 직렬성을 확인하는 단계
  • 쓰기 단계 : 검증 성공 시 Commit, 실패 시 RollBack

 

- SQL

- Truncate : 테이블의 모든 행 삭제, RollBack 불가

- MERGE : 대상 테이블을 조인하여 입력/수정/삭제를 한번에 할 수 있는 구문

MERGE INTO table1 USING table2
ON (Condition)
WHEN MATCHED THEN
	UPDATE ~
    DELETE ~
WHEN NOT MATCHED THEN
	INSERT ~ ;

 

 

정보처리기사 실기 - 10. 응용 SW 기초 기술 활용(6) /네트워크 기초 활용하기 -1

3) 네트워크 기초 활용하기 - 네트워크 계층 구조 - OSI(Open System Interconnection) 7 Layer 네트워크 통신에서 생기는 여러가지 충돌문제를 완화하기 위해 국제표준기구(ISO)에서 제시한 네트워크 기본 모

aapslie94.tistory.com