inflearn logo
강의

Course

Instructor

Introduction to DB Design for Non-Majors: From Basics to Practice

[Practice] Designing a DB based on the screen UI design - JSCODE Bulletin Board

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

128

cndcjd2qn

3 asked

0

안녕하세요.

수업 잘 듣고 있습니다. 감사합니다.

 

JSCODE 게시판에서 댓글 관련된 설계에서 아래와 같은 댓글 구조는 어떤 식으로 설계 할 수 있을까요?
(댓글의 재댓글)

image.png

 

*아래는 수업내용입니다.

image.png

 

mysql dbms/rdbms database dba

Answer 2

0

jscode

안녕하세요 cndcjd2qn님! 좋은 고민 하고 계시군요ㅎㅎㅎ

대댓글 기능을 구현하려고 하시는 것 같군요!

괜찮은 레퍼런스 자료가 많아서 링크로 첨부드려볼게요:)

https://zi2eon.tistory.com/20

https://velog.io/@hhss2259/%EB%8C%80%EB%8C%93%EA%B8%80-%EB%8C%93%EA%B8%80%EC%9D%98-%EB%8C%93%EA%B8%80-%EA%B8%B0%EB%8A%A5-%EA%B5%AC%ED%98%84%ED%95%98%EA%B8%B0

https://www.youtube.com/watch?v=bhnDSyiPvaY

 

위 링크 참고하셔서 한 번 학습해보시는 것도 좋을 것 같습니다!

학습하시다가 막히시거나 또 궁금한 점 생기시면 댓글 남겨주세요~~

0

communityai8509

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

cndcjd2qn님이 수업에서 들으신 대로, 댓글과 그에 대한 대댓글을 효과적으로 설계하기 위해서는 계층형 데이터 구조를 고려해야 합니다. 여기에 몇 가지 예제와 함께 설명드리겠습니다.

1. 기본 댓글 테이블 설계:
기존의 댓글 테이블을 이용하되 각 댓글이 어떤 댓글의 대댓글인지 알 수 있게끔 설계할 필요가 있습니다. 보통 이러한 기능은 부모 댓글의 ID를 저장함으로써 구현됩니다.

  • id: 댓글의 고유 식별자.
  • 게시글 id: 댓글이 속한 게시글의 고유 식별자.
  • 부모 댓글 id: 대댓글일 경우 상위 댓글의 ID. 최상위 댓글일 경우 NULL.
  • 내용: 댓글의 내용.
  • 작성자 id: 댓글 작성자의 ID.
  • 작성 시간: 댓글이 작성된 시간.

2. 대댓글 구조 구현 방법:
대댓글을 허용하려면 부모 댓글 id라는 컬럼을 추가하여, 각 댓글이 상위 댓글과 연관될 수 있도록 하면 됩니다. 이 컬럼이 NULL인 경우, 해당 댓글은 최상위 댓글입니다. 다른 댓글을 가리키는 ID인 경우, 해당 ID의 댓글에 속하는 대댓글입니다.

3. 응용 예제:
아래는 댓글과 대댓글의 구조를 예시로 보여줄 수 있는 간단한 예입니다.

id 게시글 id 부모 댓글 id 내용 작성자 id 작성 시간
1 101 NULL “좋아요” 1 2024-04-03 23:00:00
2 101 1 “저도요” 2 2024-04-04 00:00:00
3 101 NULL “최고예요” 3 2024-04-04 01:00:00

위의 구조에서는 ID 1의 댓글이 최상위 댓글이며, ID 2의 댓글은 ID 1을 부모 댓글로 가지는 대댓글입니다. 이렇게 설계하면 다중 계층의 댓글 구조를 표현할 수 있습니다.

관련하여 더 깊이 있는 이해 또는 실습을 원하신다면 아래의 링크들을 참고하시면 도움이 될 것입니다:

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

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

0

33

2

규칙 1에 대해서

0

52

2

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

0

55

2

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

0

55

2

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

0

76

2

FK 값 중복과 규칙 3 질의

0

75

2

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

0

44

2

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

0

47

1

몽고DB 강의 계획

0

79

2

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

0

89

1

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

0

96

2

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

0

97

2

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

0

108

2

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

0

233

2

관리자 테이블

0

226

2

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

0

254

2

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

0

126

2

개발자 및 DB 설계 관련 질문

0

155

1

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

0

104

2

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

0

310

2

erd 진짜 안그려도 되나요

0

276

2

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

0

104

2

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

0

197

2

todo데이터 테이블 설계 강의 질문있습니다.

0

115

2