<설명>
- 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 |
댓글