inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

참여도

실무에서 외래키의 사용

100

mindecco

작성한 질문수 5

0

안녕하세요. 강의 잘 보고 있습니다!

다름이 아니라, 제가 알고있는 짧은 지식으로는

실무에서는 실제 외래키 관계가 있더라도, 외래키를 선언하는걸 지양하는 것으로 알고 있습니다. 혹시 영한님은 실무에서 외래키를 선언하여 외래키 제약조건 사용을 지향하셨는지가 궁금합니다!!

sql mysql dbms/rdbms 소프트웨어-설계 SQLD

답변 2

0

김영한

안녕하세요. mindecco님

이 부분은 선택인데요.

강의 내용을 쭉 들어보시면 제가 어떤 기준으로 선택했는지 이해하실 수 있을거에요 🙂

감사합니다.

0

인프런 AI 인턴

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

실무에서 외래키를 사용할지 여부는 프로젝트의 성격과 요구사항에 따라 다를 수 있습니다. 외래키는 데이터베이스의 무결성을 보장하는데 유용한 도구이지만, 성능이나 유지보수 측면에서는 외래키를 지양하기도 합니다.

다음은 관련 질문과 답변들로, 실무에서의 외래키 사용에 대해 더 깊이 이해할 수 있는 자료입니다.

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

    • 이 게시물에서는 외래키를 사용하지 않으면서도 데이터 무결성을 유지할 수 있는 방법에 대해 설명합니다. 외래키 제약조건 없이도 JPA가 정상 동작할 수 있으며, 필요에 따라 외래키를 설정할 수 있습니다.
  2. 서비스에서 외래 키 사용에 대해 질문 드립니다

    • 실제 서비스에서 외래키를 사용하지 않는 이유에 대해 설명합니다. 외래키 없이도 필드 수준에서 연관관계를 맺을 수 있으며, 성능 최적화와 설계 유연성을 고려할 수 있는 방법들이 소개됩니다.

외래키 없이 테이블 간의 관계를 설정하면, 데이터베이스 설계가 더 유연해질 수 있으며 특정 테이블의 업데이트나 삭제가 다른 테이블에 영향을 미치지 않을 수 있습니다. 하지만 이 경우 데이터 일관성을 유지하기 위해 관리가 더 필요할 수 있습니다.

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

아주 작은 정오표 전달드립니다.

0

52

2

실제로 작은 기업에서 기획 롤

1

27

1

order_product 까마귀발

0

44

2

[DB설계] 탈퇴 유저의 구독 정보 유지 및 이메일 마스킹 관련 질문입니다.

0

53

1

자연키 vs 대리키 실무질문

0

28

1

1:N 관계에서 중간테이블 (연관엔티티)

0

57

2

일대일 fk 위치

0

43

1

제 3 정규형 vs BCNF 정규형 차이점?

0

106

3

BCNF 질문

0

78

2

연관 엔티티 네이밍 규칙

0

53

1

진짜 강의 듣는거 너무 고문

0

140

1

28강 sql 파일 어딨나여?

0

94

1

2NF의 엄밀한 정의

0

74

1

comment 채번을 사용해야 하는 이유에 대한 설명이 필요합니다.

0

124

3

학습중인 수업자료를 받아볼 수 있을까요??

0

103

2

수업자료 pdf파일관련 건의 - 제목 링크위치 개선

0

88

2

서비스 운영 중 잘못된 테이블 설계 발견시 수정 시점에 대한 질문

1

108

2

실무적인 설계로 접근했을 때 제 2정규형 항상 만족?

0

82

1

슈퍼/서브 타입 joined 전략

0

74

2

created_at 관련 구현과 DB ENUM에 대해

0

75

1

M:N 관계의 연관 엔티티 설계 순서

0

81

2

데이터 역사성 훼손 문제

0

67

2

실무팁 - 등록자,수정자 컬럼 관리 관련 질문입니다.

0

84

1

구글이 이메일 변경을 허용하는 이유

0

126

1