Foreign Key로 참조 무결성을 지키기 위한 3가지 정책

종원유·2021년 11월 17일
0

이 글은 온라인 강의를 통해 배운 내용에 대한 자기 참조용 글이다.

오늘 Foreign Key로 참조 무결성을 지키기 위한 3가지 정책에 대해 배웠다.

많은 테이블들이 Foreign Key를 매개로 관계를 맺고 있고,
여러 테이블들을 하나로 합치는 조인을 Foreign Key 기준으로 하는 것이 일반적이기 때문에,
데이터베이스에 존재하는 Foreign Key를 잘 설정하고 관리하는 것이 중요하다.

Foreign Key를 참조 무결성을 지키며 관리하기 위한 3가지 정책에 대해서 써보려고 한다.

Foreign Key로 참조 무결성을 지키기 위한 3가지 정책.

1. RESTRICT
2. CASCADE
3. SET NULL

NO ACTION의 경우는 RESTRICT와 같은 역할을 하므로 설명에서 제외하겠다.

먼저, 참조 무결성을 지키기 위한 정책은
On UPDATE
On DELETE

갱신 혹은 삭제를 할 때 위 정책들을 사용할 수 있다.

먼저 RESTRICT를 살펴보자면,
RESTRICT : 얽매다, 제한하다 라는 뜻을 가지고 있다.
RESTRICT는 부모 테이블의 데이터가 자식 테이블에서 참조하고 있는 데이터와 달라질 때 수정 및 삭제를 막는 정책이다.

CASCADE는
CASCADE : 연쇄하다.

CASCADE는 단어의 뜻처럼, 부모 테이블에서 데이터의 갱신 혹은 삭제가 일어났을 때, 참조하는 자식 테이블의 데이터도 함께 갱신 혹은 삭제하겠다는 정책이다.

마지막으로 SET NULL
SET NULL의 경우는 부모 테이블에서 자식테이블이 참조하는 데이터의 갱신 혹은 삭제가 일어났을 때,
부모 테이블을 참조하는 자식 테이블의 데이터를 NULL로 변경하는 정책이다.
즉, 부모 테이블이 갱신 혹은 삭제 되더라도 자식 테이블의 데이터를 보존할 경우 사용할 수 있는 정책인 것 같다.

자세한 내용은 추 후에 더 정리하도록 하겠다.

profile
개발자 호소인

0개의 댓글