더북(TheBook)

제약 조건은 테이블을 생성할 때(CREATE TABLE 문)나 테이블을 생성한 후(ALTER TABLE 문)에 명시가 가능하다.

물론 제약 조건을 사용해 DRI가 제공하는 참조 무결성을 강화하는 다른 방법도 있다. 코드로 규칙을 검사하는 절차적 참조 무결성이 그중 하나다. 절차적 참조 무결성을 구현하는 몇 가지 메커니즘이 있는데, 내용은 다음과 같다.

클라이언트 애플리케이션에서 작성한 코드

저장 프로시저

트리거

데이터를 처리하는 컴퓨터 시스템을 개발할 때 데이터베이스의 무결성을 강화하는 것과 관련된 모든 규칙을 처리하도록 프로그램 코드로 작성하는 것도 가능하다. 하지만 이것은 좋은 생각이 아니다. 비즈니스 규칙과 데이터 간 관계를 관리하고 강화하는 것은 데이터 모델의 일부분이어야 하며, 그 역할은 애플리케이션 프로그램이 아닌 데이터베이스에서 수행해야 한다. 모든 사람이 같은 데이터로 작업하고, 이 데이터를 한 가지 방식으로 갱신되게 하려면 데이터 규칙이 애플리케이션에 독립적이어야 한다. 이렇게 해야 계속해서 수천 줄이나 되는 코드를 작성하고 관리하는 부담을 덜 수 있다. 물론 그렇더라도 데이터 무결성을 훼손할 가능성은 있지만, 데이터베이스 자체의 일부분으로 제약 조건을 정의하면 데이터 무결성 훼손 가능성은 줄어든다.

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