HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
🍒
[팀10] CherryBoys❤️
/
⌨️
백엔드
/
🗒️
ERD 설계
🗒️

ERD 설계

Status
기획&설계
Assign
https://zetawiki.com/wiki/JPA_DB자료형_매핑
 
Users 유저
  • [String] name 이름
  • [String] id 아이디(이메일)
  • [String] password 비밀번호
  • [String] nickname 닉네임
  • [Enum(String)] gender 성별
  • [String] bio 자기소개
  • [String] ageGroup 연령대
  • [List<Sport>] 종목
  • * [List<TeamTag>] 태그 목록 → 세부태그에서 mappedBy
  • * [List<TeamUser>] 소속팀 목록 → 세부태그에서 mappedBy
  • [boolean] is_deleted
 
 
TeamUser / team_user
  • [Long] id 식별자
  • [Long] team_id 팀id
  • [String] user_id 유저id
  • [Enum-String] grade 등급
 
Teams 팀
  • [Long] id 식별자
  • [String] name 이름
  • [String] logo 로고
  • [String] bio 팀설명
  • * [Sports] sports 주요 종목
  • [String] ageGroup 주요연령대
  • [int] 총 경기 수
  • [int] 팀 인원
  • * List<TeamUser> 팀원 목록
    • * [User] 주장
    • * [List<User>] 부주장
    • * [List<User>] 팀원 목록
    • * [List<User>] 용병 목록
  • * [List<TeamTag>] 태그 목록
  • * [List<Match>] 경기 목록
  • [LocalDateTime] created_date 팀생성일자
  • [LocalDateTime] modified_date 팀정보수정일자
  • [boolean] is_deleted 팀삭제여부
 
Sports 종목
  • [Long] id 식별자
  • [String] name 종목명
  • [String] logo 로고 (Optional)
 
TeamTag - UserTag → 상속관계? 아니면 한 테이블?
  • [Long] id 식별자
  • [Long] tag_id 태그(Tags) 식별자
  • [Long] team_id 팀 nullable
  • [Long] user_id 유저 nullable
  • [Long] 태그 갯수
  • * [Level(enum)] 태그 레벨(태그 개수에 따른 레벨)
 
Tags
  • [Long] id 식별자
  • [String] name 태그명
  • (로고?)
 
Matches
  • [Long] id 식별자
  • [Address] address 장소 - response:enum 중첩 리스트, request:VO
    • [String] city 도
    • [String] region 시/군/구
    • [String] ground_name 구장이름
  • [LocalDateTime] start_date 시작시간 (날짜 포함)
  • [LocalDateTime] end_date 종료시간 (날짜 포함)
  • [String] ageGroup 매칭 희망 연령대
  • [Long] register_team_id 매치 등록 팀
  • [Long nullable] apply_team_id 매치 신청 팀
  • [Enum(String)] status 매칭 상태
  • [int] cost 참가 비용
  • [String] detail 세부 설명
  • * players 참여한 유저 목록
  • [LocalDateTime] created_date 작성일자
  • [LocalDateTime] modified_date 수정일자
  • [boolean] is_deleted 매치취소여부
 
UserMatchHistories 유저매치기록
  • [Long] id 식별자
  • [List<Long>] matchId 매치ID
  • [List<String>] userId 유저ID
 
HireBoard 용병게시글
  • [Long] id식별자
  • *[Long] team_id 용병구하는팀
  • [String] title 제목
  • [Enum-String] position 포지션 (Optional)
  • [Address] address 장소 - response:enum 중첩 리스트, request:VO
    • [String] city 도
    • [String] region 시/군/구
    • [String] ground_name 구장이름
  • 시간
    • [LocalDateTime] start_date 시작시간 (날짜 포함)
    • [LocalDateTime] end_date 종료시간 (날짜 포함)
  • [String] ageGroup 연령대
  • [String] detail 세부 설명
 
hire_apply 용병 신청 목록
  • [Long] id 식별자
  • [Long] hire_board_id 용병게시글식별자id
  • [Long] user_id 용병으로 신청한 유저
 
match_apply 팀 신청 목록
  • [Long] id 식별자
  • [Long] match_id 매치ID
  • [Long] team_id 매치 신청한 팀
 
 
Chatting
 
 
이미지