Inflearn brand logo image

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

cndcjd2qn님의 프로필 이미지
cndcjd2qn

작성한 질문수

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

[실습] 화면 UI 디자인을 보고 DB 설계해보기 - JSCODE 게시판

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

작성

·

89

0

안녕하세요.

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

 

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

image.png

 

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

image.png

 

답변 2

0

JSCODE 박재성님의 프로필 이미지
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

안녕하세요, 인프런 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을 부모 댓글로 가지는 대댓글입니다. 이렇게 설계하면 다중 계층의 댓글 구조를 표현할 수 있습니다.

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

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

cndcjd2qn님의 프로필 이미지
cndcjd2qn

작성한 질문수

질문하기