[2과목-1장-037] 절차형 SQL
연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL
- 일반 프로그래밍 언어에 비해 효율은 떨어지지만, 단일 SQL 문장으로 처리하기 어려운 연속적 작업들을 처리하는 데 적합
- 다양한 기능 수행하는 저장 모듈 생성 가능
- DBMS 엔진에서 직접 실행 > 입/출력 패킷이 적은 편
- BEGIN ~ END 형식으로 작성되는 블록 구조로 되어 있음 > 기능별 모듈화가 가능
* 종류
1) 프로시저(Procedure)
: 일종의 트랜잭션 언어. 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행
2) 트리거(Trigger)
: DBMS에서 이벤트가 발생할 때마다 관련 작업이 자동으로 수행
3) 사용자 정의 함수
: 프로시저와 유사하게 SQL 사용하여 일련 작업을 연속적으로 처리, 종료 시 Return 사용하여 처리 결과를 단일값으로 반환
* 절차형 SQL의 테스트와 디버깅
디버깅을 통해 기능의 적합성 여부 검증
실행을 통해 결과를 확인하는 테스트 과정 수행
- 테스트 전 생성을 통해 구문 오류, 참조 오류의 존재 여부 확인함
- 오류 및 경고 메시지가 상세히 출력되지 않음 > SHOW 명령어로 내용 확인해야 함
- 디버깅으로 로직 검증, 결과를 통해 최종 확인
- 디버깅) 실제로 DB에 변화를 줄 수 있는 삽입 및 변경 관련 SQL문을 주석으로 처리, 출력문 이용하여 화면에 출력하여 확인
* 쿼리 성능 최적화
: 데이터 입/출력 애플리케이션의 성능 향상을 위해 SQL 코드를 최적화하는 것
- 쿼리 성능 최적화 전에 APM(성능 측정 도구)을 사용하여 최적화 할 쿼리를 선정
- 최적화 할 쿼리에 대해 옵티마이저가 수립한 실행 계획 검토, SQL 코드와 인덱스를 재구성
** 옵티마이저
: 작성한 SQL이 효율적으로 수행되도록 최적 경로를 찾아 주는 모듈
'정보처리기사 > 필기' 카테고리의 다른 글
[2과목-2장-039] 단위 모듈 테스트 (0) | 2020.04.21 |
---|---|
[2과목-2장-038] 단위 모듈 구현 (0) | 2020.04.21 |
[2과목-1장-036] 데이터 입/출력 (0) | 2020.04.21 |
[2과목-1장-035] 데이터저장소 / 데이터베이스 / DBMS (0) | 2020.04.21 |
[2과목-1장-034] 자료 구조 (0) | 2020.04.21 |
댓글