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

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


답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
전한준님, 데이터베이스에서 게시판을 여러 개 운영하고 각 게시글에 대해 분야와 위치에 따라 필터링을 구현하고자 하시는군요. 현재 주어진 ERD(개체-관계 다이어그램)를 기반으로 각각의 게시글이 특정 ‘분야’와 ‘위치’에 연결되어 필터링이 가능하도록 설계하는 방법에 대해 말씀드리겠습니다.
ManyToMany 매핑: 게시글이 여러 분야에 속하고, 또한 여러 위치에 속할 수 있는 구조라면 ManyToMany 매핑이 적합할 수 있습니다. JPA 등을 활용하여 ‘Post-Category (분야)‘와 ‘Post-Location (위치)’ 사이의 다대다 관계를 매핑하여 구현할 수 있습니다. 이 경우, 중간 테이블을 생성해 각 게시글이 어떤 분야, 어떤 위치와 연결되는지를 기록하는 방식으로 해결할 수 있습니다.
다른 방법:
- Single 연결: 만약 하나의 게시글이 단 하나의 분야와 위치에만 속한다면 단순히 각각의 ‘Post’ 테이블에 ‘분야 ID’와 ‘위치 ID’를 외래 키로 추가하여 관리할 수 있습니다.
- 검색 필터링: 데이터의 크기 및 성격에 따라 다르지만, 검색 필터링 용도로 검색 인덱스를 활용하여 효율성을 높일 수 있습니다.
- Single 연결: 만약 하나의 게시글이 단 하나의 분야와 위치에만 속한다면 단순히 각각의 ‘Post’ 테이블에 ‘분야 ID’와 ‘위치 ID’를 외래 키로 추가하여 관리할 수 있습니다.
두 방법 모두, 데이터베이스의 설계와 쿼리 최적화가 중요합니다. 또한, 사용자가 많거나 데이터가 매우 방대한 경우에는 검색 성능을 고려해 세심한 인덱싱과 캐시 전략이 필요할 수 있습니다.
더 자세한 구현 방법이나 최적화에 대한 부분은 프로젝트의 규모와 요구 사항에 따라 다를 수 있습니다. 추가적인 사항이 필요하시면 언제든지 문의하세요.
로그인 확인
0
32
2
서비스에서와 컨트롤러의 @Vaild 적용 차이에 대해서
0
56
2
해결했습니다
0
40
1
지금 강의가 어려우신분 추천드립니다.
0
60
1
기존의 완성된 CRUD의 Build.gradle에 security관련 dependency를 추가하면 문제가 생깁니다.
0
68
2
EmailSender 관련 문의
0
60
1
CRA ? 질문입니다
0
54
1
[해결됨]마지막 강의 내용 수정 화면이 기능을 못하네요.
0
55
1
[해결됨]부분적으로 화면 이동이 안되는 부분이 있습니다.
0
85
6
aws 계정 생성 질문
1
81
1
조회 메서드 네이밍 질문
0
70
1
음성불량
0
54
1
장애 격리 관련해서 궁금한 부분이 있어요
0
66
2
질문있습니다.
0
53
1
코드 깃허브는 없을까요?
1
71
2
핵사고날 아키텍처 기반으로 멀티 모듈 설계 시 질문드립니다..
0
78
2
인넬리제이 무료버전
0
75
2
Post, PostEntity에서 User, UserEntity 의존
0
66
1
내부 객체 직접 접근에 관하여.
0
112
2
CertificationServiceTest
0
61
1
FlushModeType.COMMIT (12:45) 예시코드 질문
0
73
1
readme에 대한 자료는 따로 받아볼수 있나요?
0
106
2
InvalidCurriculumException DIP 적용 여부 문의
0
86
2
Inner class로 Config를 지정하는 이유
0
66
2





