[DB] 4.6 트리거(trigger)와 주장(assertion)

🍏 트리거 - Trigger
- 명시된 이벤트가 발생할 때마다 DBMS가 자동적으로 수행하는 프로시저(사용자가 정의)
- 데이터베이스의 무결성을 유지하기 위한 일반적이고 강력한 도구
- 기업의 비즈니스 규칙들 시행

✅ 트리거 표현 요소
Trigger = 이벤트-조건-동작(ECA) 규칙
- Event : 트리거 활성화시키는 이벤트
- Condition : 트리거가 활성화되었을 때 통과해야 하는 조건문
- Action : 트리거가 활성화되고, 조건이 참일 때 수행되는 동작
✅ 트리거의 형식
- SQL3에서 트리거 형식

- Event example
테이블 튜플 삽입 / 삭제 / 수정
- 조건은 임의의 형태의 프레디키트
- 조건이 거짓일 경우 아무 수행도 XX
✅ Example

🍏 주장 (Assertion)
- 제약조건을 위반하는 연산이 수행되지 않도록 한다.
- 대부분 주장은 NOT EXISTS를 포함
- DBMS는 주장의 프레디키트를 검사하여 만일 참이면 주장을 위배하지 않는 경우이므로 데이터베이스 수정을 허용
- 일반적으로 두 개 이상의 테이블에 영향을 미치는 제약조건을 명시하기 위해 사용된다.

