SQL: 에서 다대다 관계 구현
조회수 740회
안녕하세요.
node.js에서 orm으로 개발중입니다만 헷갈리는 부분이 있어 질문드립니다. 다대다 관계를 만들려면 테이블이 2개만 있으면 되나요? 아니면 중간다리 역할을 하는 테이블까지 3개가 필요하나요?
감사합니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
방금 질문을 작성하시면서 태그를 작성하셨을 겁니다.
sql이라는 태그를 문제에 달아 주셨는데요. 문제 입장에서도 tag를 여러개 달 수 있고, tag 입장에서도 여러 문제에 속할 수 있으니 말씀하신것과 같은 다대다 관계입니다.
이런 관계를 표시하기 위해 question_id와 tag_id를 각각 column으로 가지는 별도 테이블이 있게 됩니다.
혹시 사용하시는 DB(예를들어 Postgresql)에서 Array를 지원하는 경우 question 테이블에 tag_ids라는 column을 두고, 거기에 tag_id들을 저장하는 방법도 있긴 한데요. 이렇게 테이블을 구성하고 운영하다 보니 업데이트시 Cost가 큰 문제가 있더라구요.
댓글 입력