저장 프로시저로 데이터 무결성을 강화하는 방법은 최소한 데이터베이스 내에서 규칙을 보존한다고 볼 수 있지만, 훨씬 어려운 접근 방법이다. 특히 UPDATE 작업일 때는 더욱 그렇다. 또 저장 프로시저로 규칙을 강화할 수는 있지만, 이 방법을 이용하면 사용자가 반드시 저장 프로시저로만 데이터를 수정해야 한다. 이렇게 하려면 사용자에게 해당 저장 프로시저의 실행 권한을 부여해야 하고, 주요 테이블에서는 데이터를 직접 갱신하지 못하게 하는 또 다른 차원의 작업이 필요하다.
참조 무결성을 강화하고 연속적으로 관련 작업을 수행하는 데 트리거를 사용할 수 있다. 트리거는 일상적으로 사용하는 기준 테이블 데이터를 조작하는 것과 동일한 INSERT, UPDATE, DELETE 문을 사용할 수 있는 독립된 해결책이다. 하지만 ‘BETTER WAY 13. 트리거를 남발하지 말자’에서 이미 트리거를 사용할 때는 주의가 필요하다고 언급했다.
핵심 정리
• 제약 조건 사용을 검토해 데이터 무결성을 강화한다.
• 쿼리 옵티마이저는 고성능 쿼리 실행 계획을 만드는 데 제약 조건을 사용할 수 있다.