외래키를 사용해야 하는 이유
-
외래키(foreign key)를 쓰지 않는 이유DB 2023. 7. 22. 01:07
오늘 일을 하며 DB를 짜던 도중 외래키를 쓰지 않는 것이 좋다는 선임분의 말을 들었다. 이때까지 식별관계, 비식별관계 따져가며 테이블과 테이블 간의 접점을 위해 외래키를 잘 설정해주려고 노력했는데 왜인지 의아했다. 하지만 실제로 외래키를 설정하게 되면 제약사항이 많아져서 그렇다고 한다. 가령 cascade 설정으로 인해 A테이블을 삭제하면 B테이블이 삭제되거나, A를 수정하기 위해선 B까지 수정해야하는 경우들이 있다. 외래키에 대한 이해를 위해 간단한 예시를 첨부했다. 수강하는 주체인 학생과 그 대상인 강의, 그리고 그 행위를 나타내는 등록이 있다. 누가 어떤 강의를 듣는지 알기 위해 위와 같이 외래키로 테이블들을 이어주었다. 참고로 이들은 식별관계이다 cf) 식별관계: 어떤 테이블 (Student와 ..