코드 구현 전 준비
구현 기능
🔥 **보너스 미션** 유저 테이블을 추가해 승인된 사용자(관리자)만 상품 관리를 할 수 있게 구현해봅시다. 단, 주문은 비회원, 회원 구분없이 모두가 가능해야합니다.필수 기능을 정의해 보면 아래와 같습니다.
- 상품 관리
- 현재 보유중인 상품의 수량을 관리합니다.
- 수량이 모자랄 경우 새로 발주를 넣고 발주가 완료되면 상품의 수량에 추가됩니다.
- 주문 관리
- 고객의 주문을 받을 수 있어야합니다.
- 등록된 주문의 완료 및 취소 처리가 가능해야 합니다.
- 상품 옵션 관리
- 각각의 상품별로 다른 옵션을 가질 수 있습니다.
- 아이스, 핫
- extra 사이즈 여부 및 가격
- 샷 추가 여부 및 가격
- 빈번한 수정이 일어나지 않는 데이터들은 서버 메모리에 저장해서 사용합니다.
커피 프렌차이즈 컨셉으로 한다. (상품은 에스프레소(HOT만 존재), 아메리카노, 카페라떼, 카푸치노, 카페모카)
Order item은 발주할때 쓰이는 테이블이다.
State 칼럼은 0,1,2,3만 들어갈수있고 0은 주문상태 1은 대기상태 2는 발주완료되어 재고량이증가되고 3은 주문취소이다.
모든 데이터베이스는 CRUD에 해당하는 기능을 지원
C (Create): 데이터의 생성을 의미
R (Read): 저장된 데이터를 읽어오는 것을 의미
U (Update): 저장된 데이터를 변경!
D (Delete): 저장된 데이터를 삭제하는 것을 의미
Select, Where
👉 데이터를 불러오고 (Select), 조건에 맞게 필터링 하는 것 (Where)!Group by, Order by
👉 데이터를 범주에 따라 묶어서 통계치를 구하고 (Group by), 정렬하는 것 (Order by)!Join
👉 여러 데이터를 합쳐서 분석하기 (Join), 더 쉽고 깔끔하게 원하는 데이터를 얻기 (Subquery)