Replies: 2 comments
-
외래키는 관계형 데이터베이스에서 한 테이블의 필드 중 다른 테이블의 행을 식별할 수 있는 키를 말합니다. 질문의 핵심은 FOREIGN KEY 제약인 것 같습니다. 실무에서는 FK 제약을 잘 사용하지 않는다는 이야기가 있는데요. |
Beta Was this translation helpful? Give feedback.
-
답변하기가 애매한 것 같아 참조 무결성 제약조건으로 인해 테스트 시 번거로움을 느낀 경험을 첨부합니다. @AfterEach
void cleanUp() {
reservationRepository.deleteAll();
reservationTimeRepository.deleteAll();
themeRepository.deleteAll();
memberRepository.deleteAll();
} 테스트 격리를 위해 각 테스트를 실행한 뒤에 DB 테이블을 초기화 해야하는 상황을 예로 들어보겠습니다. Reservation 테이블이 ReservationTime, Theme, Member의 FK를 가지고 있고, 참조 무결성 제약조건 때문에 Reservation을 삭제해야만 각각의 테이블을 초기화할 수 있었습니다. 또 요구사항의 변경으로 새로운 테이블이 추가될 때마다 기존 테이블과 새롭게 추가된 테이블의 관계를 고려해 삭제 순서를 재배치해야 합니다. 이 부분은 trade-off를 따져보고 결정해야 하는 부분인 것 같습니다. |
Beta Was this translation helpful? Give feedback.
-
연관 관계가 있는 테이블은 무조건 FK를 거는게 좋을까?
Beta Was this translation helpful? Give feedback.
All reactions