[UniCircle] DB 구성

JUJU·2024년 10월 3일
0

프로젝트

목록 보기
23/26

✏️ 테이블 구조

Users
Board
Comment
Circle
AdmissionForm
Hashtag

1. Users 테이블

Column NameData TypeDescription
user_id(PK)BIGINT사용자 ID
nameVARCHAR이름
nicknameVARCHAR닉네임
emailVARCHAR이메일
rolesENUM사용자 구분(비회원, 입부 희망자, 입부 신청자, 동아리 관리자, 시스템 관리자)
passwordVARCHAR비밀번호
created_atDATETIME회원가입 날짜
last_seenDATETIME마지막 접속 시간
circle_id (FK)BIGINT동아리 ID (Circle 참조)

2. Board 테이블

Column NameData TypeDescription
post_id (PK)BIGINT게시글 ID
user_id (FK)BIGINT작성자 ID (Users 참조)
circle_id (FK)BIGINT동아리 ID (Circle 참조)
titleVARCHAR게시글 제목
contentTEXT게시글 내용
visibilityENUM공개 범위
hashtag_id (FK)BIGINT해시태그 ID (Hashtag 참조)
is_noticeBOOLEAN공지사항 여부
created_atDATETIME작성일
updated_atDATETIME수정일

2. Comment 테이블

Column NameData TypeDescription
comment_id (PK)VARCHAR댓글 ID
post_id (FK)BIGINT게시글 ID (Board 참조)
user_id (FK)BIGINT작성자 ID (Users 참조)
visibilityENUM공개 범위
created_atDATETIME작성일
updated_atDATETIME수정일

3. Circle 테이블

Column NameData TypeDescription
circle_id (PK)BIGINT동아리 ID
nameVARCHAR동아리 이름
descriptionTEXT동아리 소개
created_atDATETIME생성일
questionsTEXT동아리 질문 리스트 (JSON)
admin_user_id (FK)BIGINT동아리 관리자 ID (Users 참조)
hashtag_id (FK)BIGINT해시태그 ID (Hashtag 참조)

4. AdmissionForm 테이블

Column NameData TypeDescription
form_id (PK)BIGINT신청서 ID
circle_id (FK)BIGINT동아리 ID (Circle 참조)
user_id (FK)BIGINT작성자 ID (Users 참조)
form_contentTEXT신청서 내용
admission_dateDATETIME신청 날짜
statusENUM신청 상태

5. Hashtags 테이블

Column NameData TypeDescription
hashtag_id (PK)VARCHAR해시태그 ID
contentVARCHAR해시태그 내용

M:N 관계인 Hashtag - Board는 따로 연결용 테이블을 하나 생성해줘야 할듯

profile
개발자 지망생

0개의 댓글

관련 채용 정보