[정처기 실기요약] 8과목 - SQL 응용

1
post-thumbnail

8과목 : SQL 응용


프로시저

■ 개념
절차형 SQL을 활용하여 특정 기능을 수행할 수 있는 트랜젝션 언어
■ 구성
선언부(DELCLARE) 시작/종료부(BEGIN/END) 제어부(CONTROL) SQL 예외부(EXCEPTION) 실행부(TRASACTION)

디비컨SET

사용자 정의함수 (User-Difined Function)

■ 개념
절차형 SQL을 활용하여 일련의 SQL처리를 수행하고, 수행 결과를 단일 값으로 반환할 수 있는 절차형 SQL
■ 구성
선언부(DELCLARE) 시작/종료부(BEGIN/END) 제어부(CONTROL) SQL 예외부(EXCEPTION) 반환부(RETURN)

디비컨SER

트리거 (Trigger)

■ 개념
특정 테이블에 삽입, 수정, 삭제 등의 데이터 변경 이벤트가 발생하면 DBMS에서 자동적으로 실행되도록 구현하는 프로그램
■ 구성
선언부(DELCLARE) 이벤트부(EVENT) 시작/종료부(BEGIN/END) 제어부(CONTROL) SQL 예외부(EXCEPTION)

디이비컨SE

프로시저 SQL

  • SELECT (데이터조회) : 검색 명령
  • INSERT (데이터생성) : 삽입
  • UPDATE (데이터갱신) : 수정/변경
  • DELETE (데이터삭제) : 삭제

프로시저 실행부

  • COMMIT : 성공적으로 하나의 트랜젝션이 끝나고 DB가 일관적인 상태에 있을 때 하나의 트랜젝션이 끝났을 때 사용하는 연산
  • ROLLBACK : 트랜젝션이 비정상적으로 종료되어 트랜젝션 원자성이 깨질 경우 처음부터 다시 시작하거나 부분적으로 연산을 취소하는 연산

트리거의 목적

  • 이벤트와 관련된 테이블의 데이터 삽입, 추가, 삭제 작업을 DBMS가 자동적으로 실행시키는데 활용
  • 데이터 무결성 유지 / 로그메세지 출력 등의 별도 처리를 위해 트리거 사용

트리거 이벤트 순서

BEFORE - 이벤트부의 테이블에 대한 INSERT/UPDATE/DELETE를 수행하기 전에 트리거가 실행하도록 저장하는 명령
AFTER - 이벤트부의 테이블에 대한 INSERT/UPDATE/DELETE가 성공적으로 실행되었을 때만 트리거가 실행하도록 지정하는 명령

TRUNCATE

데이터가 하나도 없이 테이블 구조만 남은 최초 테이블이 만들어진 상태로 되돌아가도록 하는 명령

집계함수

  • 여러 행 또는 테이블 전체 행으로부터 하나의 결과값을 반환하는 함수
  • 집계함수 구문 : GROUP BY / HAVING 구문
    ■ COUNT : 줄 수
    ■ SUM : 합계
    ■ AVG : 평균
    ■ MAX : 최대값
    ■ MIN : 최소값
    ■ STDDEV: 표준 편차
    ■ VARIAN: 분산

그룹함수

  • 테이블 전체 행을 하나 이상의 컬럼을 기준으로 컬럼 값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수
  • ROLLUP 함수 / CUBU / GROUPING SETS -> 8 ~ 29 (?)

MyBatis

  • SQL Mapping 기반 오픈 소스 Access Framework로, DBMS에 질의하기 위한 SQL쿼리를 별도의 XML파일로 분리하고 Mapping을 통해서 SQL을 실행한다.
  • 장점 : JDBC 코드 단순화 / SQL 그대로 사용 / Spring frame work랑 통합가능 / 우수성능

데이터 제어어 - DCL

데이터베이스 관리자가 데이터 보안, 무결성 유지, 회복을 위해 관리자가 사용하는 제어용 언어

GRANT(권한 부여) 명령문

  • DBA가 사용자에게 DB에 대한 권한을 부여하는 명령어
  • GRANT 권한 ON 테이블 TO 사용자 [WITH 권한 옵션];

REVOKE(권한 취소) 명령어

  • DBA가 사용자에게 DB에 대한 권한을 회수하는 명령어
  • REVOKE 권한 ON 테이블 FROM 사용자 [CASCADE CONSTRAINTS];

CASCADE CONSTRAINTS

연쇄적인 권한 해제 명렁어

profile
ᴅᴇ́ᴠᴇʟᴏᴘᴘᴇᴜʀ. ᴘʀᴏɢʀᴀᴍᴍᴀᴛɪᴏɴ 🔥

0개의 댓글