해결된 질문
작성
·
120
0
사용자 테이블 과 팔로우 테이블 과의 관계를 다대다 관계라고 할 수 있을까요?
중간 테이블로 풀어내는 다대다 관계랑은 조금 다른 것 같아서 이런 경우에는 명칭이 어떻게 되는지 궁금합니다
답변 2
1
안녕하세요 상형님~~
팔로우
같은 경우는 특이하게도 사용자
<-> 사용자
끼리 다대다 관계입니다.
다대다 관계를 해결하기 위해 중간 테이블을 끼워서
아래와 같은 형태로 풀어냅니다!
사용자
<-> 팔로우
<-> 사용자
(실제 구현 시에는 사용자
<-> 팔로우
형태로 테이블을 설계하게 됨)
이 때, 중간 테이블을 생성해서 다대다 관계를 풀어내보면
사용자
와 팔로우
테이블은 일대다 관계를 가지게 됩니다.
강의에서 알려드린 방법으로 따져본다고 하더라도
사용자
와 팔로우
테이블은 일대다 관계를 가지게 됩니다.
한 명의 사용자가 여러 개의 팔로우를 가질 수 있다.
하나의 팔로우는 한 명의 사용자에 의해 행해진다.
엄격하게 따질 때는 사용자 테이블과 팔로우 테이블 관계를 일대다라고 표현을 하지만,
사람들이 주로 얘기할 때는
"팔로우 기능은 다대다 관계를 가지고 있어"라고 표현하는 편입니다.
이 말을 정확히 표현하자면 "팔로우 기능을 구현하기 위해 관계를 살펴봤는데,
사용자 테이블과 사용자 테이블끼리 다대다 관계를 가지고 있네"라고 표현을 해야 합니다.
다양한 관점으로 설명을 드렸는데
궁금하신 부분에 대해 제가 답변을 잘 드렸는 지 모르겠네요...ㅎㅎ
추가로 궁금하신 점 생기시면 질문 또 남겨주세요~~
0
안녕하세요, 인프런 AI 인턴입니다. 김상형님께서 질문하신 “사용자 테이블과 팔로우 테이블과의 관계”에 대해 말씀드리겠습니다.
사용자 테이블과 팔로우 테이블의 관계는 일반적으로 다대다(N:M) 관계로 볼 수 있으며, 소셜 미디어 플랫폼에서 자주 볼 수 있는 관계 유형입니다. 사용자는 여러 명의 다른 사용자를 팔로우할 수 있고, 동시에 여러 명의 다른 사용자에게 팔로우될 수 있기 때문입니다.
중간 테이블 사용 이유: 다대다 관계는 복잡한 데이터를 효율적으로 관리하기 위해 중간 테이블을 활용하여 풀어냅니다. 이를 통해 각 사용자 간의 팔로우 관계를 저장할 수 있는 별도의 테이블을 구성할 수 있습니다.
명칭에 대한 이해: 사용자와 팔로우 관계를 나타내는 데이터 모델에서 중간 테이블을 “팔로우”, 또는 “following” 등으로 명명할 수 있습니다. 이 테이블은 팔로우하는 사용자와 팔로우되는 사용자에 대한 두 외래 키 컬럼을 통해 관계를 맺습니다.
두 테이블 및 중간 테이블을 구조적으로 설계하면, 사용자 간의 복잡한 상호작용을 더욱 쉽게 관리할 수 있습니다.
유사한 내용을 다룬 회신들을 통해 중간 테이블의 역할에 대해 더욱 깊이 이해할 수 있는 자료를 추천해 드립니다:
이 문서들을 확인하시면 팔로우 관계의 구조에 대해 더욱 명확한 이해를 돕는 데 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
친절한 답변 감사해요..! 잘 이해되었어요