(정보처리기사) 5. 데이터베이스

김지윤·2023년 9월 30일
0

데이터 베이스

목록 보기
6/7

트랜잭션

1. 원자성 : 작업을 모두 끝내거나, 모두 취소하거나 한 상태여야 한다.

2. 고립성 : 다른 트랜잭션과 영향을 주고 받으면 안된다.

3. 일관성 : 작업을 하지 않은 데이터들은 정보가 유지되어야 한다.

4. 영속성 : 작업한 결과는 데이터베이스에 저장되어야 한다.



병행제어

  • 로킹 : 하나의 트랜잭션을 실행하는 동안 다른 트랜잭션이 접근하지 못하도록 배제

  • 낙관적 검증 : 일단 트랜잭션을 수행 후, DB에 저장하기 전에 검증

  • 타임 스탬프 순서 : 부여된 시간에 작업 수행

  • 다중버전 동시성 제어 : 타임스탬프를 비교하고 직렬가능성이 보장되는 적절한 버전을 선택하여 접근허용



DB 고립화 수준

  • Read Uncommitted
  • Read committed
  • Repeatable Read
  • Serializable Read



회복 기법

  • REDO : 저장된 로그를 분석하여 완료 기록이 있는 트랜잭션을 재실행

  • UNDO : 저장된 로그를 분석하여 완료 기록이 없는 트랜잭션을 모두 취소

  • 지연 갱신 회복 기법 : 트랜잭션을 완료 후 DB에 갱신

  • 즉각 갱신 회복 기법 : 트랜잭션 수행 도중 DB에 갱신



DB 구성

  • 도메인 : 하나의 속성이 가질 수 있는 원자값들의 집합

  • 스키마 : DB의 구조, 제약조건 등을 담고 있는 구조

  • 인덱스

    • 클러스터드 인덱스 : 기본키를 기준으로 레코드를 묶어서 저장



DDL

  • 테이블 수정 alter

    • 테이블의 컬럼 추가 : add

    • 컬럼 수정 : modify

    • 컬럼 삭제 : drop column

    • 생성 : create view 뷰이름 as 원하는 조회;
  • 인덱스

    • 생성 : create index 인덱스명 on 테이블명(컬럼);



DML

  • 조인

    • 내부조인 : 두 테이블의 조인 조건에 해당하는 튜플들만 추출

    • 왼쪽 외부조인 : 왼쪽 테이블에서는 모든 데이터, 오른쪽 에서는 동일 데이터만 추출

  • 데이터 변경

    • update 테이블명 set 컬럼명=데이터;
  • 데이터 삭제

    • delete from 테이블명 where 조건;



옵티마이저

  • DBMS에서 최적의 경로를 생성해 실행계획을 세울 수 있도록 도와준다.
profile
꾸준하게 공부하고 기록하는 개발자

0개의 댓글