Spring Boot

[무한댓글 게시판] 1. 테이블 설계(+테이블 생성)

어코링 2024. 2. 9. 22:09
간단한 게시판 프로젝트 만들기

주요기능 

  1. 무한 댓글
  2. 좋아요
  3. 조회수

무한 댓글

무한댓글(댓글, 대댓글) 찾은 정보를 토대로 비지니스 로직을 만들었다.

중요한 점은 댓글의 부모 필드,

또 부모필드에서 얼마나 댓글이 +1을 보여주는지의 step(댓글의 깊이)

 

댓글의 댓글이 생성될때 마다 step은 +1


1.  초기 테이블 설계

 

테이블의 구성은 3개의 릴레이션으로 구성하였다.

각자 필요한 슈퍼키와 외래키를 표시를 하였고,

제약조건도 같이 넣어주었다.

 

2.  테이블 생성 SQL문 작성

CREATE TABLE board (
   board_id int primary key auto_increment,
    useremail VARCHAR(25),
    board_regdate VARCHAR(20) not null,
    board_title varchar(30) not null,
    board_content varchar(1000) not null,
    board_moddate VARCHAR(20),
    board_deldate VARCHAR(20),
    board_delyn char(1) default 'N' not null,
    board_likes int default 0 not null,
    board_views int default 0 not null
);

CREATE TABLE Comments (
    comment_id INT PRIMARY KEY AUTO_INCREMENT,
    board_id INT NOT NULL,
    useremail VARCHAR(25) NOT NULL,
    comment_root INT NOT NULL,
    comment_regdate VARCHAR(20) NOT NULL,
    comment_content VARCHAR(1000) NOT NULL,
    comment_deldate VARCHAR(20),
    comment_delyn CHAR(1) DEFAULT 'N' NOT NULL,
    comment_moddate VARCHAR(20),
    comment_steps INT NOT NULL
);

CREATE TABLE user (
    username VARCHAR(10),
    oauthtype varchar(20),
    oauthtoken varchar(100),
    useremail VARCHAR(25);
);