SQL: 에서 다대다 관계 구현

조회수 738회

안녕하세요.

node.js에서 orm으로 개발중입니다만 헷갈리는 부분이 있어 질문드립니다. 다대다 관계를 만들려면 테이블이 2개만 있으면 되나요? 아니면 중간다리 역할을 하는 테이블까지 3개가 필요하나요?

감사합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 방금 질문을 작성하시면서 태그를 작성하셨을 겁니다.

    sql이라는 태그를 문제에 달아 주셨는데요. 문제 입장에서도 tag를 여러개 달 수 있고, tag 입장에서도 여러 문제에 속할 수 있으니 말씀하신것과 같은 다대다 관계입니다.

    이런 관계를 표시하기 위해 question_id와 tag_id를 각각 column으로 가지는 별도 테이블이 있게 됩니다.


    혹시 사용하시는 DB(예를들어 Postgresql)에서 Array를 지원하는 경우 question 테이블에 tag_ids라는 column을 두고, 거기에 tag_id들을 저장하는 방법도 있긴 한데요. 이렇게 테이블을 구성하고 운영하다 보니 업데이트시 Cost가 큰 문제가 있더라구요.

    • 3개가 필요하단 말씀을 두분에게 들으니 이해가 잘됐습니다. 감사합니다. 알 수 없는 사용자 2019.6.14 13:53

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)