https://msdio.github.io/stackticon/#
https://infognu.ansan.ac.kr/~i2151040/show.php
DB내 데이터 확인 링크
데이터 베이스 설계
데이터베이스 이름
db2151040_capstone
테이블 요약
pk는 기본 키, fk는 외래키를 의미하며 auto는 자동 키 증가
1. Users (유저 정보)
| 컬럼명 | 자료형 | 설명 |
|---|
| user_id | INT (PK, AUTO) | 유저 고유 ID |
| student_id | VARCHAR(20) | 학번(관리자 계정은 기본값 NULL) |
| username | VARCHAR(50) | 이름 |
| email | VARCHAR(100) | 이메일 (고유) |
| is_admin | BOOLEAN | 관리자 여부 |
| created_at | DATETIME | 가입일시 |
| password | VARCHAR(255) | 비밀번호 |
2. Foods (음식 정보)
| 컬럼명 | 자료형 | 설명 |
|---|
| food_id | INT (PK, AUTO) | 음식 ID |
| restaurant_id | INT (FK) | 제공 식당 ID |
| name | VARCHAR(100) | 음식 이름 |
| description | TEXT | 설명 |
| price | INT | 가격 |
| discount_rate | FLOAT | 할인율 (%) |
| image_url | VARCHAR(255) | 음식 사진 URL |
3. Restaurants (식당 정보)
| 컬럼명 | 자료형 | 설명 |
|---|
| restaurant_id | INT (PK, AUTO) | 식당 ID |
| name | VARCHAR(100) | 식당 이름 |
| location | VARCHAR(255) | 위치 |
| phone | VARCHAR(20) | 전화번호 |
| opening_hours | VARCHAR(100) | 영업 시간 |
| image_url | VARCHAR(255) | 식당 이미지 URL |
| featured_food_id | INT (FK) | 추천 음식 (food_id) |
4. Reservations (예약 정보)
| 컬럼명 | 자료형 | 설명 |
|---|
| reservation_id | INT (PK, AUTO) | 예약 ID |
| user_id | INT (FK) | 예약자 ID |
| reservation_time | DATETIME | 예약 일시 |
| food_id | INT (FK) | 예약 음식 ID |
| status | ENUM | 예약 상태 |
5. Reviews (리뷰)
| 컬럼명 | 자료형 | 설명 |
|---|
| review_id | INT (PK, AUTO) | 리뷰 ID |
| user_id | INT (FK) | 작성자 ID |
| restaurant_id | INT (FK) | 식당 ID |
| rating | INT | 평점 (1~5) |
| comment | TEXT | 내용 |
| photo_url | VARCHAR(255) | 리뷰 이미지 |
| created_at | DATETIME | 작성 시각 |
6. Cart (장바구니)
| 컬럼명 | 자료형 | 설명 |
|---|
| cart_id | INT (PK, AUTO) | 장바구니 항목 ID |
| user_id | INT (FK) | 유저 ID |
| food_id | INT (FK) | 음식 ID |
| quantity | INT | 수량 |
| added_at | DATETIME | 담은 시간 |
7. Orders (주문 목록) – 주문의 갯수
| 컬럼명 | 자료형 | 설명 |
|---|
| order_id | INT (PK, AUTO) | 주문 ID |
| user_id | INT (FK) | 유저 ID |
| total_price | INT | 총 금액 |
| order_time | DATETIME | 주문 시각 |
| status | ENUM | 상태 (진행중, 완료 등) |
| special_request | TEXT | 요청 사항 |
8. OrderItems (주문 상세) – 주문의 음식 수량 및 각각의 가격
| 컬럼명 | 자료형 | 설명 |
|---|
| order_item_id | INT (PK, AUTO) | 항목 ID |
| order_id | INT (FK) | 주문 ID |
| food_id | INT (FK) | 음식 ID |
| quantity | INT | 수량 |
| price | INT | 가격 |
9. Coupons (쿠폰 목록) – 한 음식만 적용되게? >>> 고민중
| 컬럼명 | 자료형 | 설명 |
|---|
| coupon_id | INT (PK, AUTO) | 쿠폰 ID |
| code | VARCHAR(50) UNIQUE | 쿠폰 코드 |
| discount_percent | FLOAT | 할인율 (%) |
| valid_until | DATE | 유효기간 |
| min_order_amount | INT | 최소 주문 금액 |
10. UserCoupons (유저의 쿠폰 목록)
| 컬럼명 | 자료형 | 설명 |
|---|
| user_coupon_id | INT (PK, AUTO) | ID |
| user_id | INT (FK) | 유저 ID |
| coupon_id | INT (FK) | 쿠폰 ID |
| used | BOOLEAN | 사용 여부 |
| assigned_at | DATETIME | 발급 시각 |
11. Payments (결제 정보)
| 컬럼명 | 자료형 | 설명 |
|---|
| payment_id | INT (PK, AUTO) | 결제 ID |
| user_id | INT (FK) | 유저 ID |
| order_id | INT (FK) | 주문 ID |
| payment_method | ENUM | 결제 방식 |
| amount_paid | INT | 결제 금액 |
| discount_applied | INT | 할인 금액 |
| payment_time | DATETIME | 결제 시각 |
12. SalesSummary (매출)
| 컬럼명 | 자료형 | 설명 |
|---|
| summary_id | INT (PK, AUTO) | 매출 ID |
| restaurant_id | INT (FK) | 식당 ID |
| date | DATE | 날짜 |
| total_sales | INT | 총 매출액 |
| total_orders | INT | 주문 건수 |
| total_foods_sold | INT | 음식 총 수량 |
| last_updated | DATETIME | 갱신 시각 |
13. user_favorites (유저 찜 정보)
| 컬럼명 | 자료형 | 설명 |
|---|
| user_id | INT (11) | 유저 ID |
| restaurant_id | INT (11) | 식당 ID |