Post

[UniCircle] DB 구성

DB 구성

[UniCircle] DB 구성

✏️ 테이블 구조

Users Board Comment Circle AdmissionForm Hashtag

1. Users 테이블

| Column Name | Data Type | Description | |—————|———–|—————————| | user_id(PK) | BIGINT | 사용자 ID | | name | VARCHAR | 이름 | | nickname | VARCHAR | 닉네임 | | email | VARCHAR | 이메일 | | roles | ENUM | 사용자 구분(비회원, 입부 희망자, 입부 신청자, 동아리 관리자, 시스템 관리자) | | password | VARCHAR | 비밀번호 | | created_at | DATETIME | 회원가입 날짜 | | last_seen | DATETIME | 마지막 접속 시간 | | circle_id (FK) | BIGINT | 동아리 ID (Circle 참조) |


2. Board 테이블

| Column Name | Data Type | Description | |—————|———–|———————————–| | post_id (PK) | BIGINT | 게시글 ID | | user_id (FK) | BIGINT | 작성자 ID (Users 참조) | | circle_id (FK) | BIGINT | 동아리 ID (Circle 참조) | | title | VARCHAR | 게시글 제목 | | content | TEXT | 게시글 내용 | | visibility | ENUM | 공개 범위 | | hashtag_id (FK)| BIGINT | 해시태그 ID (Hashtag 참조) | | is_notice | BOOLEAN | 공지사항 여부 | | created_at | DATETIME | 작성일 | | updated_at | DATETIME | 수정일 |


2. Comment 테이블

| Column Name | Data Type | Description | |—————|———–|———————————–| | comment_id (PK) | VARCHAR | 댓글 ID | | post_id (FK) | BIGINT | 게시글 ID (Board 참조) | | user_id (FK) | BIGINT | 작성자 ID (Users 참조) | | visibility | ENUM | 공개 범위 | | created_at | DATETIME | 작성일 | | updated_at | DATETIME | 수정일 |


3. Circle 테이블

| Column Name | Data Type | Description | |——————-|———–|———————————–| | circle_id (PK) | BIGINT | 동아리 ID | | name | VARCHAR | 동아리 이름 | | description | TEXT | 동아리 소개 | | created_at | DATETIME | 생성일 | | questions | TEXT | 동아리 질문 리스트 (JSON) | admin_user_id (FK)| BIGINT | 동아리 관리자 ID (Users 참조) | | hashtag_id (FK) | BIGINT | 해시태그 ID (Hashtag 참조) |


4. AdmissionForm 테이블

| Column Name | Data Type | Description | |—————|———–|———————————–| | form_id (PK) | BIGINT | 신청서 ID | | circle_id (FK) | BIGINT | 동아리 ID (Circle 참조) | | user_id (FK) | BIGINT | 작성자 ID (Users 참조) | | form_content | TEXT | 신청서 내용 | | admission_date| DATETIME | 신청 날짜 | | status | ENUM | 신청 상태 |


5. Hashtags 테이블

| Column Name | Data Type | Description | |—————|———–|———————————–| | hashtag_id (PK) | VARCHAR | 해시태그 ID | | content | VARCHAR | 해시태그 내용 |

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

This post is licensed under CC BY 4.0 by the author.