개인 마트 관리 시스템 DB 테이블 설계하기
이 포스트를 계속 수정하면서 "마트 관리 애플리케이션"의 테이블을 만들어 볼 예정이다.
사촌 형 부탁으로 마이크로 애플리케이션을 만들기 때문에 일반적인 쇼핑몰 or 마트 관리앱과는 다를 수 있다.
* 배송X, 재고X, 결제(아임포트)X, 후기X, 댓글X
- 필요한 테이블
고객테이블
상품테이블
상품카테고리테이블
주문테이블
주문상세테이블
장바구니테이블 (장바구니는 쿠키(?)로 짠다고 들었는데 모르겠다..)
장바구니는 쿠키로 저장하기로 결정했다. 디비로 구성할 수도 있는것으로 알고 있는데 어떤 것이 더 좋은? 현명한 방법인지는 모르겠다.
MySQL상에서 하고 있어서 워크벤치로 reverse engineer.. 를 실행시켜서 설계한 테이블의 ERD를 가져왔다.
최대한 미니멀(?)하게 구성했다.
USER테이블에서 ID를 기본키로 사용하면 안되는것(회원탈퇴등의 이유..)을 알지만... 일단은 그렇게 지정했다.
상품테이블에 원산지, 유통기한등의 정보가 더 생길 수 있지만 간단하게 지정했다.
대부분의 테이블 아이디를 오토인크리먼트 속성을 지정했다.
상품(상품id, 상품명, 상품가격, 이미지경로, 카테고리)
카테고리(카테고리id, 카테고리명)
주문상세(주문상세id, 주문id, 상품명, 수량, 단가)
주문(주문id, 유저id, 주문날짜, 총액, 배송상태) => 배송했는지 안했는지 관리자에서 처리만 할 예정.(특이케이스)
유저(유저id, 유저pw, 이름, 주소, 폰넘버, 집전화번호)
tbl_product에 on_sale(판매중인지 아닌지), on_discount(할인중인지 아닌지) 컬럼이 추가되었다.
on_sale컬럼이 추가된 이유는 만약에 관리자가 상품을 삭제했을 때 실제 상품을 삭제하는 것이 아니라 삭제한 것처럼만 보이고 데이터는 유지해야하기 때문에 추가하게 되었다.
하다가 바뀌면 또 올릴 예정.
'DB > DB 테이블 설계' 카테고리의 다른 글
개인 마트 관리 시스템 DB 설계하기 (ERD 만들기, DB 구조, a.k.a 쇼핑몰DB) (2) | 2017.12.18 |
---|
상품 갯수 같은 경우, tbl_product에 적어주지 않아도 되나요? 재고같은 경우요
저도 제대로 공부해보지 않았는데 답변드리겠습니다.
상품이 예를 들어 '단일 품목'이면 개수를 달아도 무방할 것 같습니다만,
예를 들어 의류면 사이즈별로도 재고가 다 다를 수 있습니다.
그래서 제 생각에는 디테일하게 들어가면 테이블을 별도로 나눠야 할 것 같습니다.
(개인적으로 실력이 쌓이고 연차가 쌓이면서 DB설계도 해보면 좋겠는데 이런저런 핑계로 만들지 못하고 있어 아쉽습니다...)