커피/티 정기 구독 쇼핑몰 - ERD 설계
by yjym33📘 커피/티 정기 구독 쇼핑몰 ERD 설계 (표 기반 정리)
🧑💼 users (회원)
필드명 타입 설명
| id | PK | 사용자 고유 ID |
| VARCHAR | 이메일 | |
| password | VARCHAR | 비밀번호 해시 |
| name | VARCHAR | 이름 |
| address | TEXT | 배송 주소 |
| created_at | TIMESTAMP | 가입일 |
☕ products (원두/티 상품)
필드명 타입 설명
| id | PK | 상품 ID |
| name | VARCHAR | 상품명 |
| type | ENUM | 커피 / 티 등 분류 |
| origin | VARCHAR | 원산지 |
| flavor_notes | TEXT | 향미 노트 (산미, 단맛 등) |
| caffeine | BOOLEAN | 카페인 유무 |
| price | INTEGER | 가격 |
| stock | INTEGER | 재고 수량 |
| created_at | TIMESTAMP | 등록일 |
🔁 subscriptions (정기 구독)
필드명 타입 설명
| id | PK | 구독 ID |
| user_id | FK → users | 구독자 |
| product_id | FK → products | 구독 상품 |
| interval | VARCHAR | 주기 (1주, 2주, 4주 등) |
| status | ENUM | active, paused, cancelled |
| next_delivery_date | DATE | 다음 배송 예정일 |
| created_at | TIMESTAMP | 생성일 |
📦 orders (주문)
필드명 타입 설명
| id | PK | 주문 ID |
| user_id | FK → users | 주문자 |
| subscription_id | FK → subscriptions | 어떤 구독에서 생성된 주문 |
| total_price | INTEGER | 총 주문 금액 |
| status | ENUM | 주문 상태 (created, shipped) |
| ordered_at | TIMESTAMP | 주문일 |
💳 payments (결제 정보)
필드명 타입 설명
| id | PK | 결제 ID |
| order_id | FK → orders | 해당 주문 |
| status | ENUM | 성공/실패 |
| payment_method | VARCHAR | 카드, 계좌이체 등 |
| payment_date | TIMESTAMP | 결제 일시 |
| amount | INTEGER | 결제 금액 |
🚚 delivery_logs (배송 이력)
필드명 타입 설명
| id | PK | 배송 이력 ID |
| order_id | FK → orders | 어떤 주문에 대한 배송인지 |
| status | ENUM | 배송 상태 (준비중, 배송중 등) |
| tracking_number | VARCHAR | 송장 번호 |
| delivery_date | TIMESTAMP | 배송 완료일 |
⭐ reviews (상품 후기)
필드명 타입 설명
| id | PK | 리뷰 ID |
| user_id | FK → users | 작성자 |
| product_id | FK → products | 후기 대상 상품 |
| rating | INTEGER (1~5) | 별점 |
| comment | TEXT | 텍스트 후기 |
| created_at | TIMESTAMP | 작성일 |
🔗 관계 요약
- users ↔ subscriptions, orders, reviews 와 1:N
- products ↔ subscriptions, reviews 와 1:N
- subscriptions ↔ orders 와 1:N
- orders ↔ payments, delivery_logs 와 1:1
'Development > Project' 카테고리의 다른 글
| 커피/티 원두 정기 구독 쇼핑몰 - 기획서 (1) | 2025.05.10 |
|---|---|
| 대화형 AI 구축 프로젝트 - 기획서 (0) | 2025.05.01 |
블로그의 정보
생각보다 실천을
yjym33