초보 코린이의 성장 일지

데이터베이스 트리거 (DB Trigger) 본문

개인 공부

데이터베이스 트리거 (DB Trigger)

코오린이 2022. 12. 31. 21:50

ECA규칙

E(enent) -> C(condition) -> A(action)

트리거를 명시하려면 트리거를 활성화시키는 사건인 이벤트, 트리거가 활성화되었을때 수행되는 조건이 활성화되고 그 조건이 참이라면 수행되는 문(프로시저)인 동작을 표현해야 한다.

 

데이터베이스 트리거는 테이블에 대해 삽입, 수정, 삭제 등 이벤트가 발생하면 자동으로 실행하는 작업을 의미한다.

연쇄적인 반응이 일어나는 거라고 생각하면 편하다.

 

트리거가 적용됨으로써 편리함이 작용한다.

- 만일 수십만건에 데이터가 한번에 실시간으로 들어온다면 프로그램은 누군가 그 수량과 품목등을 조회할때마다 수십만건의 데이터를 읽고 계산을 해야합니다. 그렇게 되면 시스템 자체 퍼포먼스도 떨어지며 효율을 잃게 된다.

 

장점 

1. 데이터 무결성 강화(참조 무결점)

2. 업무처리 자동화

2.1 트리거를 사용하면 트랜잭션에 의해 자동으로 다른 명령을 일으킴으로써 업무처리를 자동화 할 수 있다.

2.2 사용자 개입없이 정해진 규칙대로 알아서 실행하게된다.

3. 수 많은 파생된 테이블이나 비정규화를 거친 테이블 등 업무 규칙들이 트리거에 의해 구현이 될 수 있다.

 

단점

1. 트리거를 과도하게 사용하면 복잡한 상호 의존성을 야기할 수 있다.

2. 대규모 데이터베이스에서는 복잡한 상호 의존성을 관리하는게 어렵다.

3. 트리거 내에서 다른 트리거가 활성화되어 실행이 된다면 그 트리거의 행동은 수행 될 수 없다.(연쇄작용)

'개인 공부' 카테고리의 다른 글

OBB 분리축  (0) 2023.01.06
C++ AMP (Accelerated Massive Parallelism)  (0) 2023.01.04
퀵소트 (Quick Sort)  (0) 2023.01.03
프로그래밍의 발전?  (0) 2022.12.29
메모리 구조 정리  (0) 2022.12.29
Comments