절자형SQL
SQL문의 연속적인 실행이나 조건에 따른 분기처리를 이용하여 특정 기능을 수행하는 저장모듈인 PROCEDURE, TRIGGER, USER DEFINED FUNCTION을 만들 수 있다.
T-SQL : SQL Server를 제어하기 위한 언어
USER DEFINED FUNCTION : PROCEDURE처럼 절차형 SQL을 로직과 함께 데이터베이스 내에 저 장해 놓은 명령문의 집합을 의미. PROCEDURE과 달리 RETURN 사용해서 하나의 값을 반드시 되 돌려주어야 한다.
PROCEDURE
저장 모듈 : PL/SQL DB 문장을 서버에 저장하여 사용자와 애플리케이션 사이에서 공유할 수 있도록 만든 일종의 SQL , 컴포넌트 프로그램 독립적으로 실행 되거나 다른 프로그램으로부터 실행될 수 있는 완전한 실행 프로그램
PL/SQL (Procedural Language extension to SQL)
➡ SQL을 확장한 절차적 언어(Procedural Language)
➡ 관계형 데이터베이스에서 사용되는 Oracle의 표준 데이터 엑세스 언어로, 프로시저 생성자를 SQL과 완벽하게 통합한다.
PL/SQL 특징
1. Block 구조로 되어있어 각 기능별로 모듈화 가능
2. 변수, 상수 등을 선언하여 SQL 문장 간 값을 교환
3. IF, LOOP 등의 절차형 언어를 사용하여 절차적인 프로그램이 가능하도록 한다.
4. DBMS 정의 에러나 사용자 정의 에러를 정의하여 사용할 수 있다.
5. PL/SQL Oracle 은 에 내장되어 있으므로 호환성이 좋다.
6. 응용 프로그램의 성능을 향상시킨다.
7. Block -> 단위로 처리 통신량을 줄일 수 있다.
PL/SQL Block 구조
DECLARE | BEGIN~END 절에서 사용될 변수와 인수 에 대한 정의 및 데이터 타입 선언부 |
BEGIN~END | 개발자가 처리하고자 하는 SQL문과 여러 가지 비교문 제어문을 , 이용 필요한 로직 처리 |
EXCEPTION | BEGIN~END절에서 실행되는 SQL문이 실행될 때 에러가 발생하면 그 에러를 어떻게 처리할지 정의하는 예외 처리부 |
TRIGGER
특정한 테이블에 INSERT,UPDATE,DELETE 와 같은 DML 문이 수행되었을 때, 데이터 베이스에서 자동으로 동작하도록 작성한 프로그램 사용자가 직접 호출하여 사용하는 것이 아니고 데이터베이스에서 자동적으로 수행
✔ 이벤트 발생 대상 : 테이블, 뷰, 데이터베이스
✔ 발생 범위 : 전체트랜잭션 작업, 각 행에 대해서 발생
프로시저와 트리거의 차이점
프로시저 | 트리거 |
Create procedure | Create trigger |
Execute 명령어로 실행 | 생성 후 자동으로 실행 |
COMMIT, ROLLBACK 가능 | COMMIT, ROLLBACK 불가능 |
옵티마이저
✔ 규칙기반 옵티마이저 : 우선순위가 높은 규칙이 적은 일량으로 해당작업을 수행하는 방법
✔ 비용기반 옵티마이저 : SQL문을 처리하는데 필요한 비용이 가장 적은 실행계획을 선택하는 방식
실행계획 : SQL에서 요구한 사항을 처리하기 위한 절차와 방법을 의미 실행계획을 구성하는 요소에는 조인순서(Join Order), 조인기법(Join Method), 엑세스 기법(Access Method), 최적화 정보(Optimization Information), 연산(Operation) 등이 있다.
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] SQLD 인터넷 강의 추천 (0) | 2024.08.18 |
---|---|
SQLD 기출문제 및 요약 모음 (2022 추가) (73) | 2021.05.26 |
SQLD 요약 - (7) SQL활용_뷰,그룹함수,윈도우함수 (0) | 2021.05.25 |
SQLD 요약 - (6) SQL활용_JOIN, 계층형질의,서브쿼리 (0) | 2021.05.25 |
SQLD 요약 - (5) SQL기본_GROUPBY, ROWNUM, JOIN (0) | 2021.05.25 |
댓글