인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

보나마나님의 프로필 이미지
보나마나

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

실전 예제 2 - 연관관계 매핑 시작

수업듣고 설계 실습하려는데. 질문드립니다.

작성

·

193

0

수업 내용을 바탕으로 할일 서비스를 한번 설계 후 개발 해보려고 하고있습니다. 크게 task 와 subtask 구조로 되있고, 하나의 task 는 최대 100개의 subtask 로 제한하고,  모든 task (task, subtask) 는 제목과 완료 여부 정도만 지원하려고 합니다.

task 와 subtask 는 분명 1:N 구조라서 테이블을 분리하면 되겠지 생각하는데, 또 생각해보면, 굳이 분리할 필요있나? TASK 테이블 하나에 subtask 도 넣고, 대신 부모 task 의 id 만 같이 저장하면 안되나 이런 고민이 드는데요.
사실 이고민을 하는 이유가, 생각하는 할일 서비스는 첫화면에 task 와 subtask 를 같이 보여줄꺼라서 테이블로 분리하면 subtask 가 많으면 많을수록, 그리고 전체 task 의 갯수가 많아질수록 쿼리시 성능에는 않좋지 않나 생각이 듭니다.

이 경우에,
TASK 테이블 하나로 설계가 나을까요?
아니면 그래도 이점이 있으니, TASK와 SUBTASK 테이블 각각 만들고 연관관계 맵핑으로 설계 하는게 나을까요?

실제 운영해야 하는 서비스라면 이경우 어떻게 설계하는게 맞을지 궁금해서 질문드립니다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 보나마나님

이 경우 서비스 특성에 맞게 설계하시면 될 것 같아요.

task와 subtask가 거의 똑같다면 하나의 테이블로 구성하셔도 되고,

task와 subtask가 내용도 다르고, 비즈니스 구조도 다르고 동작한다면 나누는게 좋다 생각합니다.

감사합니다.

보나마나님의 프로필 이미지
보나마나

작성한 질문수

질문하기