강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

KMC님의 프로필 이미지
KMC

작성한 질문수

ERD 매핑 관계 질문(ManyToMany 매핑 사용여부)

작성

·

48

·

수정됨

0

 

{30F2D2E7-6E7B-40D2-B988-890C8946E81C}.png

 

안녕하세요 숨고와 같이 게시판이 여러개 있을 경우 예를들어 특정게시판에서 게시글에 대한 필터링 밑에 사진 2개처럼 분야와 위치에 관해 필터링해서 게시글을 볼 수 있는 경우 이렇게 하는 것 말고는 답이 없나요?

{0A4D8E05-AD18-46BB-9B36-E6246BC1AF15}.png{B6BDDEC3-62C6-4B20-91BE-4AFC4A8D5D1B}.png

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

전한준님, 데이터베이스에서 게시판을 여러 개 운영하고 각 게시글에 대해 분야와 위치에 따라 필터링을 구현하고자 하시는군요. 현재 주어진 ERD(개체-관계 다이어그램)를 기반으로 각각의 게시글이 특정 ‘분야’와 ‘위치’에 연결되어 필터링이 가능하도록 설계하는 방법에 대해 말씀드리겠습니다.

  1. ManyToMany 매핑: 게시글이 여러 분야에 속하고, 또한 여러 위치에 속할 수 있는 구조라면 ManyToMany 매핑이 적합할 수 있습니다. JPA 등을 활용하여 ‘Post-Category (분야)‘와 ‘Post-Location (위치)’ 사이의 다대다 관계를 매핑하여 구현할 수 있습니다. 이 경우, 중간 테이블을 생성해 각 게시글이 어떤 분야, 어떤 위치와 연결되는지를 기록하는 방식으로 해결할 수 있습니다.

  2. 다른 방법:

    • Single 연결: 만약 하나의 게시글이 단 하나의 분야와 위치에만 속한다면 단순히 각각의 ‘Post’ 테이블에 ‘분야 ID’와 ‘위치 ID’를 외래 키로 추가하여 관리할 수 있습니다.
    • 검색 필터링: 데이터의 크기 및 성격에 따라 다르지만, 검색 필터링 용도로 검색 인덱스를 활용하여 효율성을 높일 수 있습니다.

두 방법 모두, 데이터베이스의 설계와 쿼리 최적화가 중요합니다. 또한, 사용자가 많거나 데이터가 매우 방대한 경우에는 검색 성능을 고려해 세심한 인덱싱과 캐시 전략이 필요할 수 있습니다.

더 자세한 구현 방법이나 최적화에 대한 부분은 프로젝트의 규모와 요구 사항에 따라 다를 수 있습니다. 추가적인 사항이 필요하시면 언제든지 문의하세요.

이미지 링크:
- 첫 번째 이미지
- 두 번째 이미지
- 세 번째 이미지

KMC님의 프로필 이미지
KMC

작성한 질문수

질문하기