본문 바로가기
자격증/정보처리기사

2021년 8월 16일 - 정보처리기사 실기 8장 SQL 응용

by 철제백조 2021. 8. 16.

● 본 기록은 '코딩하는 핑가님'의 허락을 받고 블로그에 정리된 글을 그대로 필사했음을 밝힙니다.

 https://ss-o.tistory.com/110?category=1013699

 

정보처리기사 실기 목차 - 정리, 예상문제, 문제 복원 수록

1. 정리 ( 수제비 교재 기준 ) 과목 내용 1과목 1과목 요구사항 확인 2과목 2과목 데이터 입출력 구현 3과목 3과목 통합구현 4과목 4과목 서버 프로그램 구현 5과목 5과목 인터페이스 구현 6과목 6과

ss-o.tistory.com

 


 

1. SQL 응용

 

1) 절차형 SQL

- 특정 사용자가 실행 순서를 정해놓고 사용하는 SQL문

 

* 프로시저 (서술형)  DBCSET

- 절차형 SQL문을 활용하여 사전에 정의해놓은 SQL문을 호출할 경우, 특정 기능을 수행하는 트랜잭션 언어

DECLARE // 프로시저 선언부
BEGIN/END // 프로시저 시작
CONTROL // 제어부(조건/반복), 순차적 처리
SQL// DQL, DML
EXCEPTION // 예외사항 처리
TRANSACTION// DML 수행 취소 여부 (ROLLBACK, COMMIT)

- CREATE OR REPLACE : 프로시저 생성 SQL문

 

 

* 사용자 정의 함수 (서술형)  DBCSER

- 사용자가 정의하여 SQL문 처리 수행 후, 단일 값으로 반환하는 절차형 SQL

DECLARE // 프로시저 선언부
BEGIN/END // 프로시저 시작
CONTROL // 제어부(조건/반복), 순차적 처리
SQL // DQL, DML
EXCEPTION // 예외사항 처리
RETURN // 단일 값 반환

 

 

* 트리거 (서술형)  DEBConSE

: 특정 테이블에 수정, 삭제, 삽입 등의 데이터 이벤트 발생 시, 자동으로 DBMS에서 실행되도록 구현된 프로그램

- 종류

(1) 행 트리거 : 데이터 변환 시 실행

(2) 문장 트리거 : 트리거에 의해 한 번 실행

DECLARE // 프로시저 선언부
EVENT // 이벤트 부 (FOR EACH ROW)
BEGIN/END // 프로시저 시작
CONTROL // 제어부(조건/반복), 순차적 처리
SQL // DQL, DML
EXCEPTION // 예외사항 처리

 

 

2) 응용 SQL 작성

* 집계 함수

- 여러 행과 테이블 전체로부터 하나의 결과값을 반환

- GROUP BY문 사용

- COUNT, SUM, AVG, MAX, MIN, STDDEV, VARIAN 함수 사용

 

 

* 그룹 함수

- 소 그룹 간의 중간 합계, 소계를 산출하는 함수

- ROLLUP소계, 중간 집계 값 산출

- CUBE : 다차원 집계 생성

- GROUPING SET컬럼에 대한 개별 집계

 

 

* 윈도 함수  집순비행

- 데이터베이스를 사용한 온라인 분석 처리 용도로 사용하기 위해 SQL에 추가한 함수

SELECT 함수명 (파라미터) OVER PARTITION BY ORDER BY

순위 함수 행 순서 함수 그룹 내 비율 함수
RANK() FIRST_VALUE RATIO_TO_REPORT
DENSE_RANK() LAST_VALUE PERCENT_RANK
ROW_NUMBER()    

 

 

* JDBC

- 자바 언어를 이용하여 DBMS에 질의하고, 데이터를 조작하는 API 제공

 

* MyBatis

- DBMS에 질의하기 위해 SQL 쿼리를 별도의 파일에 분리하고, Mapping을 통해 SQL 실행

- 복잡한 JDBC 코드 단순화

- SQL문 거의 그대로 사용 가능

- 우수한 성능

 

* 동적 SQL

- 조건에 따라 SQL문 구문 자체를 변경하고 조작이 가능

 

* DCL

- GRANT : 권한 부여 - ON TO WITH

- REVOKE : 권한 해제 - ON FROM CASCADE

댓글