본문 바로가기

데이터베이스

Stored Program

  Stored Program

일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합.

MySQL 안에서 DML을 사용하는 프로그래밍 언어와 같은 기능을 제공하고, 자주 사용하는 복잡한 쿼리를 하나로 묶어서 이름을 지정하고, 이름을 호출하여 실행되도록 설정한 프로그램이다.

 

▶ Stored Program 특징

 - MySQL의 성능 향상.

긴 쿼리의 내용을 전송하지 않고 프로시저의 이름 및 매개변수 등만 전송하여 네트워크 부하를 줄일 수 있다.

즉, 길게 쿼리를 일일이 작성하지 않고도 내가 만들었던 프로시저를 불러와서 한번에 실행할수 있다.

 - 유지관리가 간편.

직접 SQL문을 작성하지 않고 저장된 이름만 호출함으로써 일관된 작업을 한다. 공동 모듈에서 작업을 할 때 유지보수 관리가 보다 간편하다.

 - 모듈식 프로그래밍이 가능.

한번 Stored Program을 생성해 쿼리의 수정, 삭제 등의 관리가 수월하다. 

 - 보안 강화

사용자 별로 테이블에 접근 권한을 주지 않고 Stored Program에 접근 권한을 줌으로써 보안을 강화한다. 즉, 뷰와 같이 접근 권한을 관리한다. 내가 정의한 프로시저의 이름만 알려주면 직접적으로 테이블 데이터에 손대지 않고도 사용이 가능하다.

 

▶ Stored Program 종류와 개념

 - 프로시저

쿼리문의 집합으로 어떤 동작을 일괄 처리하기 위한 용도로 사용한다.

리턴 값이 없으며 단독 문장으로 구성이 가능하다. (잘못 처리 됐을 경우 리스크가 있다.)

 - 함수

사용자 정의 함수로, 내장함수가 제공하지 않은 사용자가 원하는 함수이다.

리턴 값이 있어 단독으로 문장을 구성 할 수 없다. 반환문이 있는 함수이다.(스트링->스트링, 바차->바차)

 - 트리거

테이블으 동작이 일어나면 방아쇠처럼 자동으로 실행된다.

테이블의 DML문이 작동되면 자동으로 실행된다.

 

'데이터베이스' 카테고리의 다른 글

Stored Function (함수)  (0) 2020.04.13
Stored Procedure (프로시저)  (0) 2020.04.13
View(뷰)  (0) 2020.04.06
데이터베이스 정규형  (0) 2020.04.06
데이터베이스 정규화  (0) 2020.04.06