[정보처리기사 3과목 필기 예상 키워드] 목록으로 돌아가기 |
|
과목: 3. 데이터베이스 구축 챕터: 3장 데이터베이스 구축 키워드: 절차형 SQL, SQL 활용 |
#SQL 활용 |
절차형 SQL
개요
✔ 분기, 반복이 가능한 모듈화된(재사용 가능한) 프로그램을 말한다.
✔ 작업의 결과를 데이터베이스에 저장
✔ DBMS에서 직접 실행
✔ 프로시저, 트리거, 사용자 정의함수 등이 있음
구성
✔ DECLARE, BEGIN, END
프로시저
형식
주로 DML을 사용해서 주기적으로 진행하는 작업에 사용(매출 마감작업, 일괄작업 등)
DECLARE
CREATE OR REPLACE PROCEDURE 매출마감 (마감일 IN CHAR (8))
=괄호 ( ) 에는 진행에 필요한 매개변수 지정, 입력(IN), 출력(OUT), 입출력(INOUT)으로 구분하여 저장될 데이터 타입을 지정
=프로시저 생성(CREATE) 또는 만약 프로시저가 존재한다면 새롭게 교체(REPLACE)
IS
프로시저 내부에서 사용할 변수나 상수 등을 정의
BEGIN
✔ 본격적으로 프로시저를 시작
✔ 총 4가지 영역으로 나뉨
- 분기나 반복 / SQL을 사용하여 데이터를 관리하는 영역 / 예외처리 영역/ 작업결과 실제 반영 또는 취소 영역
✔ BEGIN 내부에서 CONTROL 이나 SQL등 다른 영역은 섞여서 사용되고 트랜잭션 영역(COMMIT 등)이 마지막에 사용됨
END
정의한 프로시저 호출할때는 보통 EXECUTE를 사용하는데, EXEC나 CALL이 사용되기도 함
프로시저명과 호출에 필요한 인자값을 넘겨주면 실행 ex) EXECUTE 매출마감('20210421');
정의한 프로시저를 제거할 때는 DROP PROCEDURE과 프로시져명을 입력
실행을 하지 않기 떄문에 인자값을 넣을 필요는 없음
ex) DROP PROCEDURE 매출마감;
사용자 정의 함수
개요
✔ 호출시 특정 값을 돌려받을 수 있다(단일 값 반환)
✔ 따라서 트랜잭션 영역이 RETURN 영역으로 바뀐다
✔ 작업의 결과를 호출한 쿼리문에 돌려준다
✔ 함수 호출이 대부분 DML 문장 내부에서 일어난다 (SELECT, UPDATE 등에 사용)
✔ 파라미터 옵션은 IN만 존재한다
✔ 사용자 정의 함수의 생성문에는 BEGIN, END, RETURN이 반드시 필요하다
트리거
개요
✔ 삽입, 삭제, 수정 등으로 데이터베이스에 특정 변화(이벤트)가 발생하는 경우에 자동으로 실행되게끔 만들어진 프로그램
✔ 무결성을 유지하거나 로그를 저장하는 등에 사용
✔ 리턴값이나 매개변수가 없고, COMIIT, ROLLBACK이 없음
✔ 오류에 특별히 주의
트리거 DECLARE 영역의 특징
AFTER / BEFORE [EVENT] ON 테이블명: 이벤트 발생 전(후)에 실행
FOR EACH ROW: 이벤트가 발생한 행마다 각각 트리거 진행
프로시저 VS 사용자 정의 함수
구분 | 프로시저 | 사용자정의함수 |
반환값 | 없거나 1개 이상 가능 | 1개(단일값) |
파라미터 | 입, 출력 가능 | 입력만 가능 |
사용 가능 명령문 | DML, DCL | SELECT |
호출 | 프로시저, 사용자 정의 함수 | 사용자 정의 함수 |
사용방법 | 실행문 | DML에 포함 |
정보처리기사 3과목 필기 (상시업뎃)
2021년 정보처리기사 공부를 위해 각 과목/챕터 별 Best 키워드를 정리해 놓은 글입니다. 시나공 문제집의 기출빈도와 중요도를 기준으로 정리된 키워드들이며, 순서와 관계 없이
y-oni.tistory.com
참고: 시나공 정보처리기사 필기 (저자: 강윤석, 김용갑, 김우경, 김정준 | 출판사: 길벗), 유튜브 주간컴공TV
'2021 정보처리기사 > 3과목: 데이터베이스 구축' 카테고리의 다른 글
[2021 정보처리기사-3과목] 트랜잭션 & CRUD 분석 (0) | 2021.04.25 |
---|---|
[2021 정보처리기사-3과목] SQL (0) | 2021.04.24 |
[2021 정보처리기사-3과목] 데이터 전환 계획 수립 (0) | 2021.04.24 |
[2021 정보처리기사-3과목] 데이터베이스 용량 설계 & 분산설계 (0) | 2021.04.24 |
[2021 정보처리기사-3과목] 스토리지(DAS, NAS, SAN 차이점) (0) | 2021.04.24 |