-
Notifications
You must be signed in to change notification settings - Fork 1
DB 설계
Daniel Han edited this page Dec 28, 2021
·
5 revisions
시나리오 기반으로 필요한 테이블✅, 데이터 📌으로 highlight
- 사용자✅ 아이디(name), 비밀번호로 OAUTH 로그인
- 사용자✅ profileImage📌와 name📌이 우측 상단에 표시
- 캘린더 뷰 띠지에 각 이벤트✅ title📌 표시, hover 했을 때 title📌, beginAt📌, location📌 표시
- 이벤트✅ 생성 시 이벤트 양식에 title📌, personInCharge📌, beginAt📌, endAt📌, location📌, category📌, topic📌, details📌 기입, 기입된 데이터 기반 홍보글 생성
- 등록한✅ 이벤트 정보 확인 시 category📌, title📌, beginAt📌, 소요시간, location📌, personInCharge📌, topic📌, details📌 표시
- 내가 생성한 이벤트✅ 페이지에서 title📌, beginAt📌, endAt📌, location📌, category📌 표시
FIELD | TYPE | NULL/NOT NULL | COMMENT |
---|---|---|---|
id (PK) | INT |
NOT NULL | auto increment, 해당 이벤트 고유 ID |
creator | INT |
NOT NULL | 이벤트 생성 시 이벤트 생성자 고유 id 받아와 저장 |
title | VARCHAR(256) |
NOT NULL | 제목 256 ascii / 64 characters (utf8 max bytes) |
personInCharge | VARCHAR(64) |
NULL | 발표자/담당자 64 ascii / 16 characters (utf8 max bytes) 인트라 ID 뿐 아니라 한글 이름 + job title 들어올 수 있기 때문에 넉넉하게 64 bytes |
beginAt | DATETIME |
NOT NULL | 시작 시간 |
endAt | DATETIME |
NOT NULL | 종료 시간 |
location | VARCHAR(256) |
NOT NULL | 장소 256 ascii / 64 characters (utf8 max bytes) 대한민국에서 가장 긴 주소: 부산광역시 강서구 녹산산단382로14번가길 10~29번지(송정동) (78 bytes) 넉넉하게 256 bytes |
category | ENUM |
NOT NULL | 카테고리 특정 카테고리 enum value로 식별 |
topic | VARCHAR(512) |
NOT NULL | 주제 512 ascii / 128 characters (utf8 max bytes) |
details | VARCHAR(4096) |
NULL | 상세 설명 4096 ascii / 1024 characters (utf8 max bytes) 꽤 긴 42swin 홍보글 (2078 byte) |
createdAt | DATETIME |
NOT NULL | 생성 시간 |
modifiedAt | DATETIME |
NOT NULL | 수정 시간 생성 시 생성 시간으로 초기화, 이후 생성자가 수정하면 업데이트 |
FIELD | TYPE | NULL/NOT NULL | COMMENT |
---|---|---|---|
id (PK) | INT |
NOT NULL | auto increment, 해당 사용자 고유 ID |
name | VARCHAR(64) |
NOT NULL | 인트라 ID (e.g. ghan, yongjule) 64 ascii / 16 characters (utf8 max bytes) |
profileImage | VARCHAR(256) |
NOT NULL | 인트라 프로필 사진 링크 256 ascii / 64 characters (utf8 max bytes) ”https://cdn.intra.42.fr/users/[이미지_파일명]” |
createdAt | DATETIME |
NOT NULL | 첫 로그인 시간 |
updatedAt | DATETIME |
NOT NULL | 수정 시간 첫 로그인 시 첫 로그인 시간으로 초기화, user data 변경 시 업데이트 |
FIELD | TYPE | NULL/NOT NULL | COMMENT |
---|---|---|---|
id (PK) | INT |
NOT NULL | auto increment, myEvent로 등록된 event-user 관계 고유 ID |
eventID | INT |
NOT NULL | myEvent 등록 시 이벤트 고유 id 받아와 저장 |
userID | INT |
NOT NULL | myEvent 등록 시 사용자 고유 Id 받아와 저장 |
notification | INT |
NULL | 알림 NULL: 알림 없음 15: 15분 전 알림 30: 30분 전 알림 60: 60분 전 알림 |