데이터베이스 ( SQL 응용 )

Codren·2021년 3월 20일
0

데이터베이스

목록 보기
2/4

정보처리기사 필기 3과목 데이터베이스 ( SQL 응용)


Section 1. 집계성 SQL

1. 집계성 SQL

총합, 평균 등의 데이터 분석을 위해 여러 행을 모아서 처리하는 작업을 수행하는 SQL문

  • 집계 함수 - Count, Max, Min, Avg 등등
  • 그룹 함수 - Having
  • 윈도우 함수 - Rank


2. 집계 함수

여러행 또는 테이블 전체 행으로부터 하나의 결과값을 반환하는 함수이다

  • 한 개의 속성에 대해서만 가능
  • Select, Having 절에만 존재
  • Count(*)는 null값까지 계산, 나머지는 계산 X
  • Select 절에는 집단 함수, 그룹화 속성만 나타남



Section 2. 절차형 SQL

1. 절차형 SQL

SQL의 연속적인 실행, 조건, 반복을 이용하여 다양한 기능을 수행하는 저장 모듈


2. 절차형 SQL 구성

  • Declare, Begin, End, Exception


3. 절차형 SQL 커서 조작

  • Declare -> Open -> Fetch -> Empty -> Close



4. 트리거 (Trigger)란 ?

DB에 특정 이벤트(삽입,삭제,갱신) 발생 시 DBMS가 자동으로 호출하는 일종의 프로시저

  • 이벤트 (Event) - 조건 (Condition) - 동작 (Action)으로 구성 됨 ECA
  • 프로시저 / 함수는 외부적 실행명령
  • 트리거는 내부적 실행명령


*   Section 2 와 Section 3 는 사실상 거의 동일

Section 3. 데이터조작 프로시저

1. 프로시저

SQL을 이용하여 데이터를 조작하는 프로그램으로써 일련의 쿼리를 하나의 모듈처럼 실행 (내부 저장)


2. PL / SQL

  • 오라클에서 지원하는 프로시저 언어 (트랜잭션 언어)



3. PL / SQL을 활용한 저장형 객체

    ① 함수 - 리턴 값 존재
    ② 프로시저 - 하나 이상의 리턴 값
    ③ 패키지 - 하나 이상의 함수, 변수, 프로시저, 예외 등을 묶은 것
    ④ 트리거 - 지정된 이벤트 발생 시 자동으로 실행되는 PL/SQL 블록



4. 관계형 데이터베이스 SQL 처리 과정

  • 옵티마이저 (Optimizer)
    구문 분석 (Parsing) - 실행 계획 확인
    실행 (Execution) - 메모리 영역의 버퍼 캐시에서 데이터 확인
    인출 = 추출 (Fetch) - 클라이언트로 읽은 데이터 보냄

    * HINT 를 이용하여 옵티마이저의 실행계획을 수정할 수 있다



5. SQL 쿼리 성능 측정

  • TKPROF - 분석 정보 제공, instacne(모든 sql 추적), session(특정 sql 추적), .trc 확장자 파일
  • EXPLAIN PLAN - plan table 존재



6. SQL 성능 개선 순서

    ① 문제 있는 SQL 식별
    ② 옵티마이저 통계 확인
    ③ SQL문 재구성
    ④ 인덱스 재구성
    ⑤ 실행 계획 유지관리

0개의 댓글