더북(TheBook)

이 중 두 번째 목적이 더 중요하다. 예를 들어 Orders 테이블에 누락되거나 엉뚱한 CustomerID 값을 가진 로우를 입력하지 않도록 해야 하기 때문이다. Customers 테이블에서 CustomerID 값을 변경할 수 있다면, (ON UPDATE CASCADE 키워드를 명시해) 변경된 값이 Orders 테이블의 관련 로우에도 모두 전파되게 하고 싶을 것이다. 그리고 사용자가 Orders 테이블의 로우와 관련된 Customers 테이블의 로우를 삭제하려고 시도한다면, 이 삭제 작업을 허용하지 않거나 (ON DELETE CASCADE 키워드를 명시해) Orders 테이블에 있는 관련 로우를 모두 삭제하기 원할 것이다.

여러분의 데이터베이스 시스템에서 이런 주요 기능을 사용하려면 ‘다’ 관계에 있는 테이블을 생성할 때 CREATE TABLE 구문이나 ALTER TABLE 구문으로 FOREIGN KEY 제약 조건을 추가해야 한다. CustomersOrders 테이블을 예로 처리 방법을 살펴보자.

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