더북(TheBook)

BETTER WAY 13 트리거를 남발하지 말자

대부분의 DBMS는 테이블에 DELETE, INSERT, UPDATE를 수행할 때 자동으로 트리거를 실행하는 기능을 제공한다. 많은 개발자가 길 잃은 데이터를 방지하려고 트리거를 사용하지만, ‘BETTER WAY 6. 참조 무결성을 보호하려면 외래키를 정의하자’에 나온 DRI(선언적 참조 무결성)를 사용하는 것이 더 쉽고 빠르며 효율적이다. 트리거는 또한 계산 값을 갱신하는 데도 사용할 수 있는데 ‘BETTER WAY 5. 왜 계산 데이터를 저장하면 좋지 않은지 이해하자’에서 지적했듯이 더 나은 방법이 있다.

각종 제약 조건을 사용해 DRI를 유지할 수 있다. 제약 조건을 사용하면 데이터베이스 엔진이 자동으로 데이터베이스의 무결성을 강화하도록 할 수 있다. 제약 조건은 컬럼에 허용된 값 규칙을 정의하며 무결성을 강화하는 표준 메커니즘이다. DML(Data Manipulation Language)(데이터 조작 언어) 트리거, 규칙, 기본 값보다 제약 조건을 사용하는 것이 더 낫다. 또 쿼리 옵티마이저는 제약 조건으로 더 나은 성능의 쿼리 실행 계획을 만든다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.