본문 바로가기
Programing/DB

[MySQL] Stored Program

by 꾸압 2022. 12. 5.

 

<설명>

  - Database Server 내에 저장 및 실행되는 Computer Program.

    ==> Source Code 와 (종종) Stored Program의 Compile 버전이 거의 항상 Database Server System Table에 보관됨.

    ==> Database Server의 Process 혹은 Thread 의 메모리 주소 안에서 Program이 실행됨.

 

  - 종종 Stored Module 혹은 Stored Routine 으로 불림.

  - Stored Procedure, Stored Function, Trigger 등을 아우르는 상위 개념.

 


 

<Stored Program 의 주요 Type>

  1) Stored Procedures

    - Stored Program 에서 가장 흔한 Type.

    - 요청시 실행되며 또한 여러 번의 Input/Output Parameter를 받을 수 있는 Generic (data type에 종속되지 않는 일반적인) Program 단위

 

  2) Stored Functions

    - Stored Procedure와 유사하나, 그와 달리 실행 결과가 Single Value의 반환값인 것.

    - 프로그래머가 SQL 언어 기능을 효과적으로 확장 가능한 '표준 SQL 명령문' 으로 쓰임.

 

  3) Triggers

    - Database 의 활동에 대한 반응으로 활성되거나 발동하는 것.

    - Database Table 의 DML 작업(INSERT, UPDATE, DELETE) 에 상응하여 Invoke(호출) 됨.

    - 'Data 유효성 검사' 혹은 '비정규성의 자동화' 를 위해 쓰이는 것도 가능.

 


 

<왜 쓰는가?>

  1) 더 안전해질 Database

 

  2) 기본 Data 구조가 발전함에 따라 Code의 유지보수성을 향상시키는게 가능한 Data 접근 Routine을 Abstract(추상화)하는 Mechanism(작동 구조) 를 제공.

    ==> 요약하면 Data 관련 Code가 길어지면, Method-Function 만들 듯이 핵심만 간추리는게 가능하다는 말.

 

  3) Network Traffic 감소 가능. Data가 Network를 통해 전달되는게 아닌 Server에 보관될 수 있기에.

 

  4) Database Server 내-외부에서 실행하는, 호환성 제로의 Framework 를 사용하여 여러 응용 프로그램에서 접근 가능한 공동 Routine 을 구현함에 쓰는게 가능.

    ==> 요약 : A Framework 에서 쓰던게 B Framework 에서도 동작 가능하게 함.

 

  5) Database 중심의 논리가 따로 격리되어, 프로그래머에 의해 그것만 구현(다뤄지는게) 가능.

 

  6) 몇몇 환경에 따라 Portability(이식성) 을 향상 가능.

 


 

<참조 1> https://www.oreilly.com/library/view/mysql-stored-procedure/0596100892/ch01s01.html

<출처 2>

 

 

'Programing > DB' 카테고리의 다른 글

[DB] Data Warehouse  (0) 2022.12.13
[DB] Data Lake (데이터 레이크)  (0) 2022.12.12
[DB] Data Set  (0) 2022.12.01
[MySQL] Event Scheduler  (0) 2022.11.29

댓글