ON DELETE CASECADE: 부모 테이블에서 특정 레코드를 삭제하면, 해당 레코드의 기본 키를 참조하는 자식 테이블의 레코드도 자동으로 삭제되는 옵션ON UPDATE CASECADE: 부모 테이블에서 특정 레코드의 기본 키 값이 수정되면, 이를 참조하는 자식 테이블의 외래 키 값도 자동으로 업데이트되는 옵션CREATE TABLE course (
...
dept_name VARCHAR(20),
FOREIGN KEY (dept_name) REFERENCES department
ON DELETE CASCADE
ON UPDATE CASCADE
...
);
이외의 옵션
SET NULL: 부모 테이블에서 레코드 삭제(DELETE) 또는 수정(UPDATE) 시, 자식 테이블에서 참조 중인 외래 키 값을 NULL로 설정하는 옵션
SET DEFAULT: 부모 테이블의 레코드가 삭제되거나 수정될 때, 자식 테이블의 외래 키 값을 미리 정의된 기본값으로 설정하는 옵션
NO ACTION: 부모 테이블의 레코드가 삭제되거나 수정될 때, 트랜잭션이 커밋될 때 참조 무결성을 확인하여 위반시 작업 차단
RESTRICT: NO ACTION과 거의 유사하나, 부모 테이블의 레코드가 삭제되거나 수정될 때, 즉시 참조 무결성을 확인하여 위반시 작업 차단