Study/정보처리기사

041 절차형 SQL - 1장 데이터 입출력 구현 - 2과목 소프트웨어 개발

삼공비 2022. 1. 21. 19:35

1. 절차형 SQL의 개요

- 절차형 SQL은 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 sql을 의미

- 일반적인 프로그래밍 언어에 비해 효율은 떨어진다

- 하지만 단일 sql 문장으로 처리하기 어려운 연속적인 작업들에는 적합

- 절차형 sql을 활용하여 다양한 기능을 수행하는 저장 모듈 생성 가능

- DBMS 엔진에서 직접 실행되기 때문에 입출력 패킷이 적은 편

- begin ~ end 형식으로 작성되는 블록 구조로 기능별 모듈화가 가능

- 3가지 종류

1. 프로시저 : 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 sql 작업을 수행

2. 트리거 : 데이터베이스 시스템에서 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행

3. 사용자 정의 함수 : 프로시저와 유사하게 sql을 사용하여 일련의 작업을 연속적으로 처리한다.

                               : 종료 시 예약어 return을 사용하여 처리 결과를 단일값으로 반환

 

2. 절차형 SQL의 테스트와 디버깅

- 디버깅을 통해 기능의 적합성 여부를 검증

- 실행을 통해 결과를 확인하는 테스트 과정 수행

- 테스트 전에 생성을 통해 구문 오류나 참조 오류 확인

- 오류 및 경고 메시지가 상세히 출력되지 않으므로 show 명령어를 통해 내용을 확인하고 문제를 수정

- 디버깅을 통해 로직을 검증하고 결과를 통해 최종적으로 확인한다

- 디버깅시 실제로 데이터베이스에 변화를 줄 수 있는 삽입, 변경 sql문은 주석 처리하고 출력문을 이용하여 화면에 출력하여 확인

 

3. 쿼리 성능 최적화

- 최적화 전에 성능 측정 도구인 APM(Application Performance Management/Monitoring)을 사용해서 대상 쿼리 선정

- 최적화 할 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 sql 코드와 인덱스를 재구성

                                    ↘ sql이 효율적으로 수행되도록 최적의 경로를 찾아 주는 모듈