inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 DB 설계 입문/실전

[실습] 화면 UI 디자인을 보고 DB 설계해보기 - JSCODE 투두리스트

서브 태스크

222

띵똥

작성한 질문수 8

1

안녕하세요 수업을 듣다가 궁금한게 생겨서 질문드립니다~

  1. 서브 태스크 설계는 대댓글과 같은 계층형 구조로 가져가면 될까요?

  2. 무한대댓글(네이버 카페 대댓글 구조)일 때 보통 db 설계를 어떻게 가져가나요?찾아보니 인접리스트랑, 클로저테이블 등 db 패턴이 있다는데 어떤 형태로 가져가는지 궁금합니다!

mysql dbms/rdbms database dba

답변 2

1

JSCODE 박재성

안녕하세요! 질문해주신 내용에 대해 답변드려 볼게요:)

  1. 네! 만약 서브 태스크가 대댓글처럼 계층식으로 이루어진다면 계층형 구조로 설계할 것 같습니다.
    (다만, DB 설계에는 정답이 하나만 있는 건 아니니 이 방식이 무조건 정답이라고 생각하지 않으셔도 됩니다)

  2. 제가 주로 설계를 할 때는 무한대댓글을 구현할 때 인접리스트를 활용하는 편입니다!
    (말씀해주신 다른 여러 DB 패턴들과 비교해서 장단점을 찾아서 공부해보셔도 좋겠네요~!!)

이 외로 궁금하신 점 있으시면 또 질문 남겨주세요~~

0

인프런 AI 인턴

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

띵똥님께서 질문하신 “서브 태스크 설계 및 무한 대댓글 구조”는 데이터베이스에서 계층형 데이터를 관리하는 데 큰 관심사 중 하나입니다. 이는 데이터베이스에서 계층적 관계를 어떻게 효율적으로 저장하고 조회할지에 대한 문제입니다.

  1. 서브 태스크 설계:
    대댓글처럼 서브 태스크도 계층형 구조가 필요하다면, 일반적으로 인접 리스트 모델을 사용할 수 있습니다. 각 태스크는 고유한 식별자와 함께 부모 태스크의 식별자를 가지게 되어 계층을 표현할 수 있습니다. 이는 트리 구조로 데이터를 쉽게 쿼리할 수 있게 해 줍니다.

  2. 무한 대댓글 구조:

    • 인접 리스트(Adjacency List): 가장 직관적이고 간단한 방법으로, 각 노드에 부모 노드의 ID를 저장하는 방식입니다.
    • 클로저 테이블(Closure Table): 모든 노드 쌍에 대해 경로를 기록하는 방식으로, 트리 전체를 지나는 경로를 저장하여 모든 노드 사이의 관계를 쉽게 쿼리할 수 있습니다. 이는 조회 성능을 높이고자 할 때 유리합니다.

이 두 가지 외에도 중첩 집합(Nested Set)이나 경로 열(Path Enumeration)를 사용하는 방법도 있습니다. 각 패턴에는 장단점이 있어서 상황과 요구 사항에 맞춰 선택하면 좋습니다.

더 많은 설명과 예제는 다음 링크들을 참고하시면 도움이 될 것입니다:
- 대댓글을 위한 인접 리스트와 클로저 테이블 패턴의 차이점
- 계층적 데이터를 다루는 다양한 패턴

이러한 링크를 통해 어떤 방법이 배포 환경에 적합할지, 특정 시나리오에서 어떻게 성능을 개선할 수 있을지에 대한 이해를 넓힐 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

pm.team

- 대댓글을 위한 인접 리스트와 클로저 테이블 패턴의 차이점
- 계층적 데이터를 다루는 다양한 패턴

 

AI가 고장난듯...

진짜중복/가짜중복을 나누는데 있어서

0

34

2

규칙 1에 대해서

0

53

2

강사님도 실제로 구글 시트에 이런식으로 적으면서하는걸까요?!

0

56

2

만약 신고사유가 객관식 다운드롭형태일때는 테이블을 따로 분리하는건가요??

0

56

2

설문 후속강의 쿠폰 제공 이벤트에 대해서

0

76

2

FK 값 중복과 규칙 3 질의

0

76

2

7-42. 역정규화 섹션에 나온 참고글 링크

0

44

2

[JSCODE 쇼핑몰 (2)] 상품 테이블의 등록한 사람 질문 입니다.

0

49

1

몽고DB 강의 계획

0

80

2

프론트단에서 고정 저장 / 백엔드에서 조회 저장

0

90

1

게시글 작성자 Id(사용자 FK) 숫자가 맞나요?

0

96

2

UI를 보고 저장해야할 데이터인지 파악하는 팁이 있을까요?

0

97

2

안녕하세요 강사님 문의 사항이 있습니다

0

109

2

실제 개발에 들어가거나 서비스 운영 중에도 DB설계를 바꾸나요?

0

233

2

관리자 테이블

0

228

2

외래 키 지정은 필수가 아닌 건가요?

0

256

2

게시판 닉네임, 아이디 관련질문

0

126

2

개발자 및 DB 설계 관련 질문

0

155

1

중복데이터 질문 있습니다.

0

104

2

db 컬럼에 JSON 박아도 되나요?

0

315

2

erd 진짜 안그려도 되나요

0

279

2

그냥 하나씩 만들어나가면서 DB 설계를 그때그때 하는건 틀린건가요?

0

107

2

JSCODE 게시판에서 댓글 관련하여 설계

0

130

2

주문수량과 재고량 관련하여 테이블 분리시

0

200

2