Project/Whistle(축구 매칭 웹 서비스)

Project/Whistle(축구 매칭 웹 서비스)

[ Trouble Shooting ] match와 leagueList사이에서 순환참조가 발생함

오늘의 이슈 이슈를 설명하기 전 주요 정보 Match 도메인은 매치를 등록하는 도메인이다. Apply도메인은 Post되어있는 Match에 신청할 수 있는 도메인이다. Apply는 Team_Apply, League_Apply, Match_Apply가 있으며 각각 Team_List, League_List, Match_List 와 일대다의 연관관계를 맺고 있다. Match_List 도메인은 Match에 참여하는 A팀과 B팀의 정보를 담는 도메인이다. Match는 일반 매치와 리그 매치를 post한다. 일반 매치의 flow는 다음과 같다. Match를 만든 A팀은 Home 팀이 된다. Match를 Post과 동시에 Match_List가 Post된다. Match_List에 A팀의 정보가 삽입된다. B팀은 Appl..

Project/Whistle(축구 매칭 웹 서비스)

[ Whistle ] Match 테이블과 Team의 다대다 연관 관계 필요성에 관련한 문제

오늘 다룰 내용 Match 테이블과 Team의 다대다 연관관계 필요성에 관련한 문제 문제 발생의 이유 다대다 연관관계를 형성하는 경우 관계형 데이터베이스에서 정규화를 할 수 없다는 문제점이 있다. 이는 숨겨진 테이블이 형성될 수 있다는 이슈를 야기할 가능성이 있으므로 반드시 필요한 경우가 아니라면 지양해야 한다. 문제 해결 방법 새로운 테이블을 생성하여 테이블 간에 관계를 한 단계 더 만들어 주는 것이 방법이 될 수 있다. 다시 말해, A와 B라는 테이블을 다대다로 연관지어야 할 상황이 발생한다면 C라는 테이블을 새롭게 생성하고 "A -> C", "B -> C"로 일대다 연관관계를 맺어주는 것이 해결방법이 될 수 있다. # 유저와 게시글, 댓글의 상관 관계를 고민해본다면 쉽게 이해할 수 있다. 로직 설명..