외래키를 실무에서 거는게 좋을까요?
147
작성한 질문수 5
외래키 제약조건을 통해 보다 정확한 데이터 무결성을 보장할 수 있을 것 같습니다.
하지만 실무에서는 외래키로 인해서 데드락이 발생하는 케이스가 있을 것 같습니다. 또한 외래키로 인해 운영 상에서 제약조건을 잠시 해제해야된다던가 하는 경우가 발생할 것 같은데, 실무에서도 외래키를 주로 걸고 운영할까요??
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. hgh1472님.
외래키의 사용은 데이터베이스 설계에 있어서 중요한 요소 중 하나입니다. 외래키는 데이터베이스에서 데이터 무결성을 보장하기 위해 사용되며, 일반적으로 데이터베이스 간의 참조 무결성을 강제하는 데 역할을 합니다. 하지만 실무에서는 다양한 요인 때문에 외래키를 사용하지 않거나 주의 깊게 사용하는 경우도 있습니다.
외래키 사용의 장점과 단점:
외래키는 참조 무결성을 보장하여 데이터의 일관성을 유지하는 데 도움을 줍니다. 하지만 외래키를 사용하는 것이 항상 장점만 있는 것은 아닙니다. 외래키로 인해 성능 저하가 발생할 수 있으며, 실시간 트랜잭션이 많은 시스템에서는 데드락과 같은 문제를 유발할 수도 있습니다. 이런 이유로 복잡한 비즈니스 로직에서는 외래키 사용을 최소화하거나 아예 사용하지 않는 경우도 있습니다.실무에서의 외래키 사용 사례:
운영 환경에서는 성능 및 관리의 용이성 때문에 외래키를 사용하지 않기도 합니다. 외래키를 사용하지 않으면 데이터베이스의 설계 구조가 유연해지고, 성능 최적화가 가능할 수 있습니다. 그러나 이 경우 어플리케이션 레벨에서 데이터 무결성을 철저히 관리해야 하며, 잘못된 데이터 참조로 인한 오류 발생 가능성을 방지하기 위해 꼼꼼한 로직 처리가 필요합니다.추천 참고 자료:
- 외래키에 대한 사용 논의와 관련하여 김영한님의 이러한 답변을 참고하시면 도움이 될 것입니다:
- 외래키에 대한 사용 논의와 관련하여 김영한님의 이러한 답변을 참고하시면 도움이 될 것입니다:
이와 같은 설명이 외래키 사용에 대한 이해를 돕는 데 도움이 되었기를 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
upload_file_id가 1,3,4 순서인 건에 대해
0
43
1
ordered_at, paid_at 과 같이
0
47
1
물리적 모델링 - 실습 (역정규화) 질문
0
64
2
용어 사전
0
83
2
개념적 모델링 - 실습
0
49
1
DB 설계와 JPA 관련 질문입니다
0
57
1
아주 작은 정오표 전달드립니다.
0
100
2
실제로 작은 기업에서 기획 롤
1
70
1
order_product 까마귀발
0
75
2
[DB설계] 탈퇴 유저의 구독 정보 유지 및 이메일 마스킹 관련 질문입니다.
0
84
1
자연키 vs 대리키 실무질문
0
44
1
1:N 관계에서 중간테이블 (연관엔티티)
0
73
2
일대일 fk 위치
0
77
1
제 3 정규형 vs BCNF 정규형 차이점?
0
182
3
BCNF 질문
0
101
2
연관 엔티티 네이밍 규칙
0
72
1
진짜 강의 듣는거 너무 고문
0
175
1
28강 sql 파일 어딨나여?
0
111
1
2NF의 엄밀한 정의
0
102
1
comment 채번을 사용해야 하는 이유에 대한 설명이 필요합니다.
0
190
6
학습중인 수업자료를 받아볼 수 있을까요??
0
123
2
수업자료 pdf파일관련 건의 - 제목 링크위치 개선
0
109
2
서비스 운영 중 잘못된 테이블 설계 발견시 수정 시점에 대한 질문
1
122
2
실무적인 설계로 접근했을 때 제 2정규형 항상 만족?
0
104
1





