인프런 커뮤니티 질문&답변
JSCODE 게시판에서 댓글 관련하여 설계
작성
·
106
0
안녕하세요.
수업 잘 듣고 있습니다. 감사합니다.
JSCODE 게시판에서 댓글 관련된 설계에서 아래와 같은 댓글 구조는 어떤 식으로 설계 할 수 있을까요?
(댓글의 재댓글)

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

답변 2
0
안녕하세요 cndcjd2qn님! 좋은 고민 하고 계시군요ㅎㅎㅎ
대댓글 기능을 구현하려고 하시는 것 같군요!
괜찮은 레퍼런스 자료가 많아서 링크로 첨부드려볼게요:)
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을 부모 댓글로 가지는 대댓글입니다. 이렇게 설계하면 다중 계층의 댓글 구조를 표현할 수 있습니다.
관련하여 더 깊이 있는 이해 또는 실습을 원하신다면 아래의 링크들을 참고하시면 도움이 될 것입니다:
- DB 설계를 통한 다중 계층 댓글 시스템 의견을 직접 댓글 형태로 모델링하는 방법과 다양한 설계 팁을 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




