성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و

DB 구성고민 본문

백엔드개발/1차 프로젝트

DB 구성고민

hyemi_flora 2023. 11. 30. 17:21

 

* 1차 회의 하고 나서 고민해봤던 Database 구성 고민

 

*배스킨라빈스는 아이스크림이 메인이고, 여러 사이지를 가지고 있는데 사이즈와 맛을 골라서 db에 어떻게 넣어야하는걸까?

->> Size - 싱글레귤러(3200) 싱글킹(4000) 더블주니어(4300) 더블레귤러(6200) / 파인트 (8200) 3개, 쿼터(15500) 4개, 패밀리(22000) 5개, 하프갤런(26500) 6개

*필요한 페이지와 내용은?


|      이용자      |      |   관리자     |

      메뉴조회      ------>    메뉴관리
         |              
         v              
      주문생성         ------->    주문조회
         |              
         v              
      주문수정       ------->   주문처리
         |              
         v              
      주문제출       ------->    주문취소
         |              
         v              
   주문상태확인   -->    아이스크림제공



이용자 테이블 (User):
UserID (PK), Password, 이름 (Name), 전화번호 (PhoneNumber), 주소 (Address)


카테고리 (Category) :
CategoryID (PK), CategoryName: 카테고리의 이름 (아이스크림, 케이크, 커피, 음료, 디저트)

아이스크림 메뉴 테이블 (IceCreamMenu):
MenuID (PK), 카테고리ID (FK) : Category 테이블의 외래키,
메뉴사이즈 (MenuSize), choiceID (FK): 맛(Flavor / 최대 6개) FlavorChoice 외래키, 가격 (Price), 칼로리 (Calories), 알레르기 성분 (Allergens)

아이스크림 맛 테이블 (IceCreamFlavorChoice):
choiceID (PK), 맛이름(FlavorName), 재료내용(Ingredients)

케이크 메뉴 테이블 (CakeMenu):
MenuID (PK), CategoryID (FK): CategoryID 외래키, 메뉴명 (MenuName),
가격 (Price), 크기 (Size), 케이크 종류 (CakeType), 재료내용 (Ingredients)

음료 메뉴 테이블 (BeverageMenu):
MenuID (PK), CategoryID (FK): CategoryID  외래키 , 메뉴명 (MenuName)
가격 (Price), 음료 종류 (BeverageType), 사이즈 (Size), 재료내용 (Ingredients)

커피 메뉴 테이블 (CoffeeMenu):
MenuID (PK), CategoryID (FK): CategoryID  외래키 , 메뉴명 (MenuName)
가격 (Price), 커피 종류 (BeverageType), 사이즈 (Size), 재료내용 (Ingredients)

디저트메뉴 테이블 (DesertMenu):
MenuID (PK), CategoryID (FK): CategoryID  외래키, 메뉴명 (MenuName)
가격 (Price), 디저트 종류 (DesertType), 재료내용 (Ingredients)

주문 테이블 (Order):
OrderID (PK), UserID (FK): User 테이블의 외래키,
MenuID (FK):IceCreamMenu 테이블의 외래키
수량 (Quantity), 주문일자 (OrderDate),
주문상태 (OrderStatus): 주문의 현재 상태 (주문 생성, 결제 완료, 주문 취소 등)

관리자 테이블 (Admin):
AdminID (PK), Password, 이름 (Name),
권한 레벨 (PermissionLevel): 관리자의 권한 레벨 (일반 관리자, 슈퍼 관리자)
- 일반 관리자 : 주문내역 확인 , / 슈퍼 관리자 : 일반 관리자 관리. 제품 추가주문 등등