DB 설계 · innovationacademy-kr/slabs-munetic Wiki
DB 설계 예시
비즈니스 로직 → ERD → DB 구현
시나리오 기반으로 필요한 테이블✅, 데이터 📌으로 highlight
우리42벤트 ERD
FIELD | TYPE | NULL/NOT NULL | COMMENT |
---|---|---|---|
id (PK) | INT |
NOT NULL | auto increment, unique 한 해당 이벤트 고유 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 | 수정 시간 |
생성 시 생성 시간으로 초기화, 이후 생성자가 수정하면 업데이트 |