두 테이블의 참조 관계에서, A와 B테이블의 관계가 1:N Relationship을 맺을 때, A 테이블의 해당 키를 참조키(Reference Key)라 하고, B 테이블의 해당 키를 외래키(Foreign Key)라 한다.
ON DELETE/UPDATE 시 적용될 Cascade 의 종류는 다음과 같이 분류된다.
(1) CASCADE : 참조키가 삭제/수정 되면 외래키도 삭제/수정된다.
(2) RESTRICT : 참조키가 삭제/수정 되는 것을 방지한다.
(3) SET NULL : 참조키가 삭제/수정 시 NULL로 만든다.
(4) NO ACTION : 참조키가 삭제/수정 시 변동이 안생긴다.
실무에서는 물리적으로 FK를 적용하는 경우가 드물기 때문에 복잡한 종류의 마스터 데이터이거나 비즈니스 로직보다 데이터의 일관성이 중요한 경우가 아니라면 잘 사용은 안한다.
하지만 물리적으로 연결하게 된다면 상황에 따라 FK 참조 방식을 설정할 때가 있다. 잘 알아두어서 필요할 때 적절하게 사용할 필요가 있다.
'Database > MySQL' 카테고리의 다른 글
MySQL 에서의 Bulk Inserting 성능 향상 (0) | 2018.08.27 |
---|---|
MySQL을 이용한 만든 시간, 수정 시간 로직 구현 (0) | 2018.08.27 |
Database 트랜잭션을 위한 ACID 의 개념 (0) | 2018.08.24 |
MySQL 에서 유니온(UNION) 의 사용 (0) | 2018.08.13 |
MySQL 에서 EXPLAIN 사용하기 (0) | 2018.08.13 |