반응형

데이터베이스 트리거

트리거 ( Trigger )는 테이블에 대한 이벤트에 반응해 자동으로 실행되는 작업을 의미합니다.

트리거는 DML의 데이터 상태 관리를 자동화하는 데 사용됩니다.

EX ) 데이터의 입력, 수정, 삭제 되었을때의 로그를 기록하기 위한 처리, 데이터의 무결성을 검사 등등

 

간단하게 야구선수에 관련된 정보를 담는 Table이 있다고 가정했을 때

A라는 선수는 AA라는 팀에 소속되어 있다가 BB라는 팀으로 이전을 하게 되었습니다.

우리는 A라는 선수의 팀을 BB로 바꿔야 하는데 AA라는 팀에 있었다는 이력도 가지고 있어야 한다면,

A가 BB팀으로 이전했다는 것을 UPDATE 해야 하고 또 기존에 AA라는 팀에 있었다는 것을 INSERT 해야 하는데

이걸 TABLE에 트리거를 걸어둔다면 INSERT부분이 자동으로 실행되는 것입니다.

 

 

 

트리거의 장점

  • 데이터 무결성의 강화 (참조 무결성)
  • 업무처리 자동화
    • 트리거를 사용하면 트랜잭션에 의해 자동으로 다른 명령을 일으킴으로써 업무처리를 자동화할 수 있습니다.
    • 중간에 사용자가 개입하지 않고 구현된 규칙대로 알아서 실행된다는 것입니다.

트리거의 단점

  • 트리거를 과도하게 사용한다면 복잡한 상호 의존성을 야기할 수 있습니다. 
    • 예를 들어 하나의 트리거가 활성화되어 이 트리거 내의 SQL문이 수행되고, 그 결과로 인하여 다른 트리거가 활성화되어 그 트리거의 SQL문이 수행될 수 있습니다.( 트리거의 연쇄 )
반응형

'DB' 카테고리의 다른 글

[DB] SQL Constraint란?  (0) 2020.09.02
[DB] Index의 의미와 장단점  (0) 2020.09.02
[DB] Procedure 프로시저 개요 및 장단점  (1) 2020.09.01
[DB] DBMS란 무엇일까요?  (0) 2020.08.27
[DBMS] RDBMS와 DBMS의 차이점 / SQL이란?  (0) 2020.08.27

+ Recent posts