SKN/02. DB

11. STORED PROCEDURE / Trigger

claovy☘️ 2025. 2. 19. 17:25

* 수업시간에 다루지 않은 내용이므로, 개요와 장점만 다루겠다.

1. STORED PROCEDURE

01. Stored Procedure 개요

💡 Stored Procedure(저장 프로시저)는 미리 컴파일되어 데이터베이스에 저장된 SQL 문의 집합으로, 프로시저라고도 불린다. 복잡한 작업을 하나의 프로시저로 만들어 필요할 때마다 호출할 수 있으며, 코드의 재사용성과 유지보수성을 높여준다. Stored Procedure는 데이터베이스 성능 향상과 보안 강화에 도움이 되며, 클라이언트와 서버 간의 네트워크 트래픽을 감소시킨다.

 

 

02. Stored Procedure 장단점

  • 장점
    1. 복잡한 SQL 작업을 프로시저로 만들어 여러 곳에서 재사용 가능하다.
    2. 미리 컴파일되어 저장되므로 실행 속도가 빠르다.
    3. 데이터베이스 액세스 로직을 캡슐화하여 보안을 높일 수 있다.
    4. 클라이언트와 서버 간의 데이터 교환을 최소화하여 네트워크 트래픽을 감소시킬 수 있다.
  • 단점
    1. 프로시저 내 오류 발생 시 추적이 어려워 디버깅이 어렵다.
    2. 데이터베이스에 종속적이어서 다른 DBMS로의 이식이 어렵다.
    3. 과도한 로직을 프로시저에 포함하면 유지보수가 어려워진다.

2. TRIGGER

01. trigger 개요

💡 Trigger(트리거)는 특정 데이터 변경 이벤트(DML 작업: INSERT, UPDATE, DELETE)가 발생할 때 자동으로 실행되는 저장된 프로시저의 한 종류로, 데이터의 무결성과 일관성을 유지하는 데 사용된다. Trigger는 데이터베이스 수준에서 자동으로 로직을 실행하여 업무 규칙을 강제하고, 복잡한 검증이나 로그 기록 등을 수행하는 데 도움이 된다.

 

02. trigger 특징

  • 특정 테이블에 대한 데이터 변경 이벤트에 반응한다.
  • BEFORE 또는 AFTER 시점에 실행된다.
  • 행 단위 또는 문장 단위로 실행될 수 있다.

03. trigger 활용

  • 데이터 무결성 유지
  • 변경 이력(Log) 관리
  • 복잡한 비즈니스 로직 구현
  • 연관된 테이블 간의 데이터 동기화

'SKN > 02. DB' 카테고리의 다른 글

04. 개념/논리/물리 모델  (1) 2025.02.19
12. 백업 및 복원  (0) 2025.02.19
10. VIEW  (0) 2025.02.19
09. INDEX  (0) 2025.02.19
08. CONSTRAINTS  (0) 2025.02.19