SQL 응용

작성일

원자성

  • 분해가 불가능한 작업의 최소 단위
  • 연산 전체가 성공 또는 실패
  • 하나라도 실패할 경우 전체가 취소되어야하는 특성

일관성

  • 트랜잭션이 실행 성공 후 향상 일관된 데이터베이스 상태를 보존해야하는 특성

격리성

  • 트랜잭션 실행 중 생성하는 연산의 중간 결과를 다른 트랜잭션이 접근 불가한 특성

영속성

  • 성공이 완료된 트랜잭션의 결과는 영속적으로 데이터베이스에 저장하는 특성

Rollback

  • 오류가 발생했을 떄, 오류 이전의 특정 시점(SVAEPOINT, CHECKPOINT) 상태로 되돌려주는 제어어

Commit

  • 트랜잭션을 메모리에 영구적으로 저장하는 제어어

CHECKPOINT

  • ROLLBACK을 위한 시점을 지정하는 제어어

즉각 갱신 회복 기법

  • 데이터베이스의 회복기법 중 Rollback 시 Redo, Undo가 모두 실행되는 트랜잭션 처리법으로 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법

DB 스카마

  • 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조

도메인

  • 하나의 속성이 가질 수 있는 원자값들의 집합
  • 속성의 데이터 타입과 크기, 제약조건 등의 정보

스키마

  • 데이터베이스의 구조, 제약조건 등의 정보를 담고 있는 기본적인 구조

테이블

  • 데이터 저장 공간

  • 하나 이상의 물리 테이블에서 유도되는 가상의 테이블

인덱스

  • 검색을 빠르게 하기 위한 데이터 구조

트랜잭션

  • 데이터베이스 시스템에서 하나의 논리적인 기능을 정상적으로 수행하기 위한 작업의 기본 단위

외부스키마

  • 사용자나 개발자의 관점에서 필요로 하는 데이터베이스의 논리적 구조
  • 사용자 뷰를 나타냄
  • 서브 스키마로 불림

개념 스키마

  • 데이터베이스의 전체적인 논리적 구조
  • 전체적인 뷰를 나타냄
  • 개체 간의 관계, 제약 조건, 접근 권한, 무결성, 보안에 대해 정의

내부 스키마

  • 물리적 저장장치의 관점에서 보는 데이터베이스 구조
  • 실제로 데이터베이스에 저장될 레코드의 형식을 정의하고 저장 데이터항목의 표현 방법, 내부 레코드의 물리적 순서 등을 표현

인덱스

  • 데이터를 빠르게 찾을 수 있는 수단으로서 테이블에 대한 조회속도를 높여 주는 자료구조

절차형 SQL

  • 일반적인 개발 언어처럼 SQL 언어에서도 절차 지향적인 프로그램이 가능하도록 하는 트랜잭션 언어

프로시저

  • 일련의 쿼리들을 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합

사용자 정의함수

  • 일련의 SQL 처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL

트리거

  • 데이터베이스 시스템에서 삽입, 갱신, 삭제 등의 이벤트가 발생할 때 마다 관련 작업이 자동으로 수행되는 절차형 SQL

IN

  • 운영체제에서 프로시저/사용자 정의함수로 값을 전달하는 모드

OUT

  • 프로시저/사용자 정의함수에서 처리된 결과를 운영체제로 전달하는 모드

INOUT

  • IN과 OUT의 두 가지 기능을 동시에 수행하는 모드

트리거 BEFORE

  • 테이블명에 대한 INSERT/ UPDATE/ DELETE를 수행하기 전에 트리거가 실행되도록 지정하는 명령

트리거 AFTER

  • 테이블명에 대한 INSERT/ UPDATE/ DELETE가 성공적으로 실행되었을 때만 트리거가 실행하도록 지정하는 명령

옵티마이저

  • SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해 주는 DBMS 내부의 핵심엔진

실행계획

  • 옵티마이저가 생성한 SQL 처리 경로
  • 사용자가 작성한 SQL이 요구한 데이터를 추출하기 위해 옵티마이저가 작어브이 방법과 순서를 결정하는 것

힌트

  • SQL 성능 개선의 핵심 부분으로 옵티 마이저의 실행 계획을 원하는대로 변경할 수 있게 한다

RBO(규칙기반 옵티마이저)

  • 통계 정보가 없는 상태에서 사전 등록된 규칙에 따라 질의 실행 계획을 선택하는 옵티마이저

CBO(비용기반 옵티마이저)

  • 통계 정보로부터 모든 접근 경로를 고려한 질의 실행 계획을 선택하는 옵티마이저