본문 바로가기
카테고리 없음

대댓글

by YUveloper 2023. 1. 19.

❗️자기참조 관계(Self Referencing Relationship)

  • 때로는 테이블 내에서도 관계가 필요하다.
  • 예를 들어 추천인이 누구인지 파악하기 위해 사용할 수 있다.
  • 다음과 같이 유저 테이블이 있다.
  • user_id는 기본 키(primary key), name은 사용자의 이름, 그리고 recommend_id는 추천인 아이디이다.
  • User 테이블의 recommend_id는 User 테이블의 user_id와 연결되어 있다.
  • 한 명의 유저(user_id)는 한 명의 추천인(recommend_id)를 가질 수 있다.
  • 그러나 여러 명이 한 명의 유저를 추천인으로 등록할 수 있다.
  • 이 관계는 1:N(일대다) 관계와 유사하다고 생각할 수 있다.
  • 그러나 일반적으로 일대다 관계는 서로 다른 테이블의 관계를 나타낼 때 표현하는 방법이다.

 

-----

### 대댓글 디비 설계

https://xerar.tistory.com/44

 

[라라벨] 댓글 대댓글 DB설계하기

댓글, 대댓글 구성을 위한 최소한의 DB설계이니 각자 상황에 맞게 칼럼을 바꾸거나 추가해서 사용하시길 바랍니다. 그 외에 더 좋은 DB구성 방식이 있으시면 댓글로 남겨주세요. 댓글과 대댓글 DB

xerar.tistory.com

댓글과 대댓글 DB구성 (Heidi SQL프로그램)

테이블 컬럼구성을 보자면

indexComments comment postNum class order groupNum
댓글 인덱스 댓글내용 게시글 번호 계층 댓글과 대댓글 순서 댓글 그룹

 

 

칼럼에 대한 설명

댓글 인덱스(indexComments)는 게시글 번호와 상관없이 댓글 혹은 대댓글이 작성되면  auto Increment로 1씩 증가되어 저장됩니다.

 

댓글 내용(comment) 댓글 내용을 담을 칼럼입니다.

 

게시글 번호(postNum)는 게시글 번호입니다.

 

계층(class)은 댓글과 대댓글 들을 구성하기 위한 계층입니다. class 0은 부모(댓글) class 1은 자식(대댓글) 형태가 되는 거죠

 

순서(order)는 댓글과 대댓글 관계에 맞게 정렬되어 페이지에 정렬된 상태로 전달하기 위해서 추가했습니다.

따로 페이지 처리하는 부분에서 정렬할 필요 없게끔 했습니다.

 

댓글 그룹(groupNum)은 댓글 인덱스가 들어갑니다. 하지만 대댓글은 자신의 인덱스 대신 부모의 댓글 인덱스가 저장됩니다. 대댓글이 특정 댓글에 종속되어있다는 것을 표시하기 위한 수단입니다.

 

아래의 이미지가 댓글과 대댓글 구성 예시입니다.