강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

backendman님의 프로필 이미지
backendman

작성한 질문수

김영한의 실전 데이터베이스 - 설계 1편, 현대적 데이터 모델링 완전 정복

카디널리티와 참여도

외래키사용

작성

·

16

0

영한님 안녕하세요.

 

실무에서는 외래키가 테이블간에 관계를 끈끈하게 해서 잘 사용을 하지않는걸로 알고있습니다.

 

강의를 보면 테이블간에 유연한 관계를 두는것이 좋은 설계라고 하시던데 이 부분에 대해서는 어떻게 생각하시는지 궁금합니다~!

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. backendman님.

외래키에 대한 사용에 관하여 아래와 같은 유사한 질문들이 있어 참고하실 수 있도록 답변드립니다.

  1. 외래키를 사용에 대해서

    • 외래키의 사용에 대해 논의하며, 외래키 제약조건 없이도 JPA가 동작할 수 있음을 설명합니다. 외래키는 필요에 따라 설정할 수 있으며, 꼭 있어야만 하는 것은 아닙니다. 외래키를 두지 않으면 테이블 간의 관계가 유연해지고 유지 보수가 수월해질 가능성이 있지만, 데이터 무결성을 스스로 관리해야 한다는 단점도 있습니다.
  2. 서비스에서 외래 키 사용에 대해 질문 드립니다

    • 실무에서 외래키를 사용하지 않는 경우에 대해서 논의하며 외래키를 끊어주더라도 필드상에서 관계를 맺는 것은 가능합니다. 외래키를 사용하지 않을 때의 유연성과 성능에 대해 검토하고, 필요한 경우에 따라 연관관계를 맺을 수 있는 방법들을 소개합니다.

외래키는 데이터베이스의 데이터 무결성을 보장하기 위해 사용되지만, 실무에서는 성능 최적화나 데이터베이스 설계의 유연성을 위해 일부러 피하는 경우도 있습니다. 외래키 없이 테이블 간의 관계를 조정하면 업데이트나 삭제 시에 특정 테이블이 다른 테이블의 영향을 받지 않을 수 있어 설계의 유연성이 증가합니다. 그러나 외래키 제약조건을 직접 관리해야 하기 때문에 데이터 일관성 관리에 주의가 필요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

backendman님의 프로필 이미지
backendman

작성한 질문수

질문하기