| CASCADE:
- CASCADE 옵션은 주로 외래 키 제약과 함께 사용된다. 사전적 의미는 '폭포처럼 흐르다'이다. 즉 부모 테이블의 변동이 자식테이블에게 까지 영향을 미친다는 의미이다.
- 부모 테이블의 레코드가 삭제되거나 수정될 때, CASCADE 옵션을 설정한 자식 테이블의 관련 레코드도 자동으로 삭제 또는 수정된다.
- 예: 고객 테이블에서 고객 정보를 삭제할 때 해당 고객과 관련된 주문테이블의 주문 내역도 함께 삭제되는 경우.
| RESTRICT:
- RESTRICT 옵션은 부모 테이블의 레코드에 대한 DELETE나 UPDATE 작업을 제한할 때 사용된다.
- 만약 자식 테이블에 부모 테이블의 레코드와 관련된 레코드가 있을 경우, 해당 작업은 제한된다.
- 자식 테이블에 PK 값이 없는 경우만 Master 삭제 가능
- 즉, 부모의 삭제가 자식테이블에 영향을 미치는 CASCADE와는 달리 자식 테이블의 상태가 부모 테이블의 동작에 영향을 미치게 된다.
-
- 현재글[SQL] 데이터베이스 제약조건 : CASCADE, RESTRICT 차이점
-