ERD 매핑 관계 질문(ManyToMany 매핑 사용여부)
62
작성한 질문수 42

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


답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
전한준님, 데이터베이스에서 게시판을 여러 개 운영하고 각 게시글에 대해 분야와 위치에 따라 필터링을 구현하고자 하시는군요. 현재 주어진 ERD(개체-관계 다이어그램)를 기반으로 각각의 게시글이 특정 ‘분야’와 ‘위치’에 연결되어 필터링이 가능하도록 설계하는 방법에 대해 말씀드리겠습니다.
ManyToMany 매핑: 게시글이 여러 분야에 속하고, 또한 여러 위치에 속할 수 있는 구조라면 ManyToMany 매핑이 적합할 수 있습니다. JPA 등을 활용하여 ‘Post-Category (분야)‘와 ‘Post-Location (위치)’ 사이의 다대다 관계를 매핑하여 구현할 수 있습니다. 이 경우, 중간 테이블을 생성해 각 게시글이 어떤 분야, 어떤 위치와 연결되는지를 기록하는 방식으로 해결할 수 있습니다.
다른 방법:
- Single 연결: 만약 하나의 게시글이 단 하나의 분야와 위치에만 속한다면 단순히 각각의 ‘Post’ 테이블에 ‘분야 ID’와 ‘위치 ID’를 외래 키로 추가하여 관리할 수 있습니다.
- 검색 필터링: 데이터의 크기 및 성격에 따라 다르지만, 검색 필터링 용도로 검색 인덱스를 활용하여 효율성을 높일 수 있습니다.
- Single 연결: 만약 하나의 게시글이 단 하나의 분야와 위치에만 속한다면 단순히 각각의 ‘Post’ 테이블에 ‘분야 ID’와 ‘위치 ID’를 외래 키로 추가하여 관리할 수 있습니다.
두 방법 모두, 데이터베이스의 설계와 쿼리 최적화가 중요합니다. 또한, 사용자가 많거나 데이터가 매우 방대한 경우에는 검색 성능을 고려해 세심한 인덱싱과 캐시 전략이 필요할 수 있습니다.
더 자세한 구현 방법이나 최적화에 대한 부분은 프로젝트의 규모와 요구 사항에 따라 다를 수 있습니다. 추가적인 사항이 필요하시면 언제든지 문의하세요.
스프링부트 서버 에러나요
0
17
1
RepositoryTest의 패키지 위치가 domain인 이유
0
29
2
도메인 모델에서 관계와 규칙을 구분하는 방법
0
37
2
16 강의 메세지 retryCount의 의도
0
23
2
JPA Repository 질문이 있습니다!
1
33
2
페이지네이션 처리를 쿼리에서 하는 방식 질문
1
36
1
UserService, CertificationService 책임 분리 기준 질문
0
26
1
실무 조언 관련 질문입니다.
0
41
1
sdk 설정 오류
0
49
2
H2데이터베이스 파일 생성
0
49
2
SpringBoot 4.X에서의 Querydsl 설정
0
84
2
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
0
29
1
오탈자 - @Transactional
0
55
1
Dto와 Entity 사용 관련 질문
0
30
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
49
2
EC2 실습 중 docker-compose / docker ps 실행 시 권한 오류 문의
2
71
1
application.properties 작성 관련 질문
0
44
2
색깔구분
0
44
3
gradlew, java -jar 로 애플리케이션 실행시키기에서
1
49
1
리액트 관련 질문이 있습니다.
0
62
2
강의 관련 외 질문입니다.
0
65
2
update()에 사용하는 setter 질문드립니다.
0
47
1
스프링부트 버전
0
67
2
querydsl 오픈소스에 대한 질문
0
70
1





