💡 ERD 설계
프론트측에서 작성한 프로토타입 결과물과의 의견 취합을 통한 지속적인 필드 추가
엔티티 순환참조 문제 발생 가능성 잘 보고 설계하기
N:1 단방향 매핑으로 진행
💡 테이블 명세서
테이블 명세서
테이블 명세서 | ||||||||
프로젝트 명 | 그룹 심리상담 예약 서비스 개발 | |||||||
작성일자 | 2023-01-10 |
데이터 베이스 명 | Main_Project | 테이블 명 | USERS | |||||
테이블 설명 | 회원가입을 통한 로그인 대상 관리 | |||||||
컬럼명 | 컬럼 ID | 타입 및 길이 | Not null | PK | FK | IDX | 기본값 | 제약 조건 |
ID | user_id | bigint | O | O | - | - | - | - |
이메일 | varchar(50) | O | - | - | - | - | - | |
비밀번호 | password | varchar(150) | O | - | - | - | - | - |
이름 | name | varchar(20) | O | - | - | - | - | - |
닉네임 | nick_name | varchar(20) | O | - | - | - | - | - |
생년월일 | birth | varchar(6) | O | - | - | - | - | - |
사진 | image | varchar(100) | - | - | - | - | - | - |
권한 | roles | varchar(enum) | - | - | - | - | - | - |
OAuth2 | user_type | varchar(enum) | - | - | - | - | - | - |
토큰만료시간 | token_expiration_time | datetime | - | - | - | - | - | - |
리프레시 토큰 | refresh | varchar(enum) | - | - | - | - | - | - |
생성일 | created_at | datetime | - | - | - | - | - | - |
수정일 | modified_at | datetime | - | - | - | - | - | - |
데이터 베이스 명 | Main_Project | 테이블 명 | PROGRAM | |||||
테이블 설명 | 상담 프로그램 관리 | |||||||
컬럼명 | 컬럼 ID | 타입 및 길이 | Not null | PK | FK | IDX | 기본값 | 제약 조건 |
ID | program_id | bigint | O | O | - | - | - | - |
상담사 FK | counselor_id | bigint | O | - | O | - | - | - |
제목 | title | varchar(50) | O | - | - | - | - | - |
내용 | content | text | O | - | - | - | - | - |
비용 | cost | int | O | - | - | - | - | - |
대표이미지 링크 | image | varchar(100) | X | - | - | - | - | - |
참여한 회원 수 | user_count | int | O | - | - | - | - | - |
최대 정원 수 | user_max | int | O | - | - | - | - | - |
상담시작일 | date_start | datetime | O | - | - | - | - | - |
상담종료일 | date_end | datetime | O | - | - | - | - | - |
증상 리스트 | symptom_types | varchar(enum) | O | - | - | - | - | - |
전달사항 | announce | text | O | - | - | - | - | - |
줌 링크 | zoom_link | varchar(255) | O | - | - | - | - | - |
생성일 | created_at | datetime | - | - | - | - | - | - |
수정일 | modified_at | datetime | - | - | - | - | - | - |
데이터 베이스 명 | Main_Project | 테이블 명 | COUNSELOR | |||||
테이블 설명 | 상담사 유저 프로필 관리 | |||||||
컬럼명 | 컬럼 ID | 타입 및 길이 | Not null | PK | FK | IDX | 기본값 | 제약 조건 |
ID | counselor_id | bigint | O | O | - | - | - | - |
이름 | name | varchar(20) | O | - | - | - | - | - |
비밀번호 | password | varchar(150) | O | - | - | - | - | - |
생년월일 | birth | varchar(6) | O | - | - | - | - | - |
학력 | graduated | varchar(70) | O | - | - | - | - | - |
자기소개 | content | text | O | - | - | - | - | - |
경력 | major | text | O | - | - | - | - | - |
전문분야 | symptom_types | varchar(enum) | O | - | - | - | - | - |
사진 | image | varchar(100) | O | - | - | - | - | - |
생성일 | created_at | datetime | - | - | - | - | - | - |
수정일 | modified_at | datetime | - | - | - | - | - | - |
데이터 베이스 명 | Main_Project | 테이블 명 | POST | |||||
테이블 설명 | 게시물 등록은 통한 게시글 관리 | |||||||
컬럼명 | 컬럼 ID | 타입 및 길이 | Not null | PK | FK | IDX | 기본값 | 제약 조건 |
ID | post_id | bigint | O | O | - | - | - | - |
회원 FK | user_id | bigint | O | - | O | - | - | - |
상담사 FK | counselor_id | bigint | O | - | O | - | - | - |
제목 | title | varchar(50) | O | - | - | - | - | - |
내용 | content | text | O | - | - | - | - | - |
조회수 | views | int | O | - | - | - | - | - |
게시물 분류 | kind | varchar(enum) | X | - | - | - | - | - |
생성일 | created_at | datetime | - | - | - | - | - | - |
수정일 | modified_at | datetime | - | - | - | - | - | - |
데이터 베이스 명 | Main_Project | 테이블 명 | NOTICE | |||||
테이블 설명 | 공지사항 (관리자 전용) 관리 | |||||||
컬럼명 | 컬럼 ID | 타입 및 길이 | Not null | PK | FK | IDX | 기본값 | 제약 조건 |
ID | notice_id | bigint | O | O | - | - | - | - |
유저 FK | user_id | bigint | O | - | O | - | - | - |
제목 | title | varchar(50) | O | - | - | - | - | - |
조회수 | view | int | - | - | - | - | - | - |
게시물 분류 | kind | varchar(enum) | O | - | - | - | - | - |
생성일 | created_at | datetime | - | - | - | - | - | - |
수정일 | modified_at | datetime | - | - | - | - | - | - |
데이터 베이스 명 | Main_Project | 테이블 명 | PAY | |||||
테이블 설명 | 결제 관리 | |||||||
컬럼명 | 컬럼 ID | 타입 및 길이 | Not null | PK | FK | IDX | 기본값 | 제약 조건 |
ID | pay_id | bigint | O | O | - | - | - | - |
유저 FK | user_id | bigint | O | - | O | - | - | - |
예약 FK | reserv_id | bigint | O | - | O | - | - | - |
카드 주인 | card_owner | varchar(30) | O | - | - | - | - | - |
카드번호 | card_num | int | O | - | - | - | - | - |
csv번호 | csv_num | int | O | - | - | - | - | - |
카드만료일 | expiration_time | datetime | O | - | - | - | - | - |
상태 | status | varchar(enum) | O | - | - | - | - | - |
생성일 | created_at | datetime | - | - | - | - | - | - |
수정일 | modified_at | datetime | - | - | - | - | - | - |
데이터 베이스 명 | Main_Project | 테이블 명 | COMMENT | |||||
테이블 설명 | 댓글 관리 | |||||||
컬럼명 | 컬럼 ID | 타입 및 길이 | Not null | PK | FK | IDX | 기본값 | 제약 조건 |
ID | comment_id | bigint | O | O | - | - | - | - |
유저 FK | user_id | bigint | O | - | - | - | - | - |
게시물 FK | post_id | bigint | O | - | O | - | - | - |
상담사 FK | counselor_id | bigint | O | - | O | - | - | - |
내용 | content | text | O | - | - | - | - | - |
생성일 | created_at | datetime | - | - | - | - | - | - |
수정일 | modified_at | datetime | - | - | - | - | - | - |
데이터 베이스 명 | Main_Project | 테이블 명 | RESERVATION | |||||
테이블 설명 | 예약 관리 | |||||||
컬럼명 | 컬럼 ID | 타입 및 길이 | Not null | PK | FK | IDX | 기본값 | 제약 조건 |
ID | reserve_id | bigint | O | O | - | - | - | - |
유저 FK | user_id | bigint | O | - | O | - | - | - |
프로그램 FK | program_id | bigint | O | - | O | - | - | - |
생성일 | created_at | datetime | - | - | - | - | - | - |
수정일 | modified_at | datetime | - | - | - | - | - | - |
'Project > Main Project' 카테고리의 다른 글
💻 기능 개발 - 회원 (0) | 2023.01.26 |
---|---|
📄 API 명세서 - 상담프로그램 & 결제 & 예약 (0) | 2023.01.26 |
📄 API 명세서 - 상담사 & 게시물 & 공지사항 (0) | 2023.01.26 |
📄 API 명세서 - 사용자 & 로그인 & 로그아웃 (0) | 2023.01.26 |
📄 사용자 요구사항 정의서 & 커밋 컨벤션 (2) | 2023.01.06 |