inflearn logo
강의

Course

Instructor

Young-han Kim's Practical Database - Basic Course

Summary

질문이 있습니다

57

mozivalley2376

1 asked

0

Primary key 및 Foreign Key
현업에서 외래키 관계를 지정하면 연관된 테이블 지우기가 어렵고 복잡해져서 외래키 관계를 지정안한다고 했는데 이 부분에 대해 궁금합니다
현업에서는 삭제 및 수정 관련이 복잡해서 외래키 관련을 지정을 안하는건가요?

sql mysql dbms/rdbms SQLD

Answer 1

0

communityai8509

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

외래키 사용에 대한 질문을 주셨네요. 현업에서 외래키를 사용하지 않는 이유 중 하나는 삭제 및 수정 작업 시의 복잡성을 줄이기 위해서입니다. 외래키는 데이터베이스의 데이터 무결성을 보장하기 위한 강력한 도구지만, 동일한 이유로 삭제나 수정 작업이 복잡해질 수 있습니다. 특히 참조 무결성을 유지하기 위해 부모 테이블의 데이터 변경 시 연관된 모든 자식 데이터를 함께 수정하거나 삭제해야 하는 상황을 초래할 수 있습니다.

관련하여 참고할 수 있는 답변들을 소개해드리겠습니다:

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

    • 외래키의 사용에 대해 논의하면서, 외래키 제약조건 없이도 JPA가 정상적으로 동작할 수 있음을 설명합니다. 외래키 없이 테이블 간의 관계를 관리하면 삭제나 수정을 보다 자유롭게 할 수 있지만, 데이터 무결성을 수동으로 관리해야 하는 단점이 있습니다.
  2. 외래키 사용 여부

    • 외래키를 사용하지 않는 것이 성능 최적화나 데이터베이스 설계의 유연성을 높일 수 있다는 점을 설명하며, 상황에 따라 외래키를 사용하지 않는 것이 실무에서 적절할 수도 있음을 논의합니다.

외래키를 사용하지 않는 실무 상황은 성능 최적화나 요구에 따른 설계 유연성을 위해 필요에 따라 선택될 수 있습니다. 그러나 외래키를 사용하지 않을 경우, 데이터 무결성 검증을 어플리케이션 로직에서 처리해야 하는 부담이 생길 수 있음을 유념하셔야 합니다.

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

간단한 오타 제보입니다.

0

19

1

ON을 명시하지 않았을 경우 질문드립니다.

0

62

1

강의 2:53 union을썼는데도 션이 중복

0

60

1

where 대신 having을 써도 되나요?

0

83

1

주문 내역에 대한 고객 데이터

0

65

2

in 수행

0

45

1

외부조인1 강의 관련 질문

0

76

3

커버링 인덱스와 랜덤i/o 질문

0

72

1

오타인거죠?

0

81

1

섹션 3 퀴즈 3번 문제

0

78

2

GROUP BY 기준 컬럼

0

88

1

오타

0

83

2

실제 상용 서비스 질문

0

100

1

파티셔닝 관련 질문입니다.

0

61

1

join 문제 풀이2 문제1(self join) 질문

0

67

1

9. 인덱스2.pdf 중에서

0

80

1

문제 2번

0

68

2

문제와 풀이1 - 3번 문제

-1

72

2

잘 사용하진 않지만 풀 외부 조인을 사용하신 사례가 궁금합니다!

0

94

1

[58. 인덱스와 정렬]을 듣다가 질문입니다.

0

95

2

두개 이상의 테이블을 조인할때 인덱스 질문이 있습니다.

0

61

1

파일을 만드는 단위가 궁금해요

0

74

1

MySQL은 실무에서 사용하는 케이스도 있을까요?

0

84

1

JOIN 방향에 따른 결과 행수와 효율적 데이터 조회 방법 질문

0

79

1