[데이터베이스 설계]

2025. 1. 8. 07:28PROJECT/J-PLAN

사용자 USERS      
유저KEY ID UUID NOT NULL PK
이메일 EMAIL VARCHAR NOT NULL UNIQUE
패스워드 PASSWORD VARCHAR NOT NULL  
이름 NAME VARCHAR    
전화번호 CONTACT_NUMBER VARCHAR   UNIQUE
닉네임 NICKNAME VARCHAR   UNIQUE
회원가입 타입 SIGNUP_TYPE VARCHAR NOT NULL  

□ 사용자 테이블 : J-PLAN을 사용하는 클라이언트 정보

    - 유저KEY는 BIGINT가 아닌 UUID로 구현 시도할 예정

    - 이메일은 로그인용 ID와 동일

    - 회원가입 타입은 소셜 로그인 API 활용 시도 예정

 

리뷰 게시판 REVIEWS      
리뷰KEY ID BIGINT NOT NULL PK
작성자 USER_ID UUID NOT NULL FK
제목 TITLE VARCHAR NOT NULL  
내용 CONTENT TEXT NOT NULL  
조회수 VIEW INTEGER   DEFAULT=0
리뷰 사진 REVIEW_IMAGES      
사진KEY ID BIGINT NOT NULL PK
리뷰KEY REVIEW_ID BIGINT NOT NULL FK
파일명 FILENAME VARCHAR NOT NULL  
경로 PATH VARCHAR NOT NULL  

□ 리뷰, 리뷰 사진 테이블 : 여행 계획 후기를 작성할 수 있는 게시판. 사진 연동할 예정

    - 유저KEY를 FK로 받아서 작성자 구분 예정 (Many To One)

    - 리뷰마다 여러 장의 사진을 업로드 가능하도록 테이블 따로 구성 FK를 사용하여 식별

    - AWS S3 서버 사용 예정

 

리뷰 댓글 COMENTS      
댓글KEY ID BIGINT NOT NULL PK
리뷰KEY REVIEW_ID BIGINT NOT NULL FK
작성자KEY USER_ID UUID NOT NULL FK
내용 CONTENT TEXT NOT NULL  
좋아요 LIKE INTEGER NOT NULL DEFAULT = 0
댓글 순서 COMENT_ORDER BIGINT NULL  
대댓글 깊이 RECOMENT_DEPTH BIGINT NOT NULL DEFAULT = 0
대댓글 레벨 RECOMENT_LEVEL BIGINT NOT NULL DEFAULT = 0

□ 리뷰 댓글 테이블

    - 작성자KEY와 리뷰KEY로 댓글 식별

    - 대댓글 기능을 활용하기 위한 컬럼 설정 

 

계획 문의 게시판 USER_ORDERS      
문의KEY ID BIGINT NOT NULL PK
작성자KEY USER_ID BIGINT NOT NULL FK
내용 CONTENT TEXT NOT NULL  
답변 여부 IS_COMPLETED BOOLEAN NOT NULL DEFAULT = FALSE
도시 CITY      
도시KEY ID BIGINT NOT NULL PK
도시명 NAME VARCHAR NOT NULL  
게시글-도시 연결 ORDER_CITY      
구분KEY ID BIGINT NOT NULL PK
도시KEY CITY_ID BIGINT NOT NULL FK
문의KEY ORDER_KEY BIGINT NOT NULL FK

□ 계획 문의, 도시 테이블

    - 도시를 카테고리로 선택 가능 하도록 설정

    - 연결 테이블에서 COUNT하여 인기 도시 선정하여 메인 페이지 선정 예정

    - 사용자가 답변 여부 확인할 수 있도록 답변 여부 표시

    - 답변은 이메일로 발송

'PROJECT > J-PLAN' 카테고리의 다른 글

ResponseEntity와 Header (공통 응답 방식)의 차이  (0) 2025.01.10