본문 바로가기
프로젝트

1차 DB설계

by do_ng 2020. 12. 1.

수정전 전체 DB 모델링) 

수정후 전체 DB 모델링) 

물리적 DB 모델링)

<회원과 주문의 관계>

- 회원은 여러 개의 주문을 가질 수 있다(한 명의 회원이 여러 개의 주문서를 가질 수 있음) 

 

<주문 프로세스>

1. 로그인 후 장바구니에서 여러 개의 상품들을 한꺼번에 주문할 수 있음(장바구니 특성상 여러 개의 품목들을 장바구니에 넣어놓고 한 번에 주문 가능)

 ex) 장바구니 테이블에서 해당 회원이 장바구니에 추가한 상품이 있는지 확인 후 여러 개 있을 경우는 리스트로 가져옴

      주문번호 - 3번 , 나이키 신발(가격:2000, 수량:10) , 아디다스 신발(가격:3000, 수량:20) 

      주문번호 - 4번 , 무신사 셔츠(가격:5000, 수량:5) 

 

2. 로그인 후 해당 상품을 보던 도중에 주문을 할 수 있음 

 ex) 주문번호 - 1번 , 한국사 신발(가격:3000, 수량:3) 

 

---> 전체적인 주문 프로세스를 설명하자면 ( 로그인 후 해당 상품을 주문하기 버튼 클릭 OR 장바구니에서 한 번에 주문 클릭 -> 주문서 작성 페이지가 나타남 -> 주문서 작성(주소, 휴대번호.. 등등)을 완료하고 결제버튼을 누른 후 결제가 완료되면 주문서가 작성됨 ) 

 

---> 주문과 주문 상세내역 두 가지로 테이블을 나눠야 되는 이유가 있을까?? 이거에 대해서 알아보기!! 

 

<주문과 주문상세의 관계 (1:M)>
- 하나의 주문에는 여러 개의 주문 상품들이 포함될 수 있음

 

<주문 테이블과 주문 상세 테이블 이렇게 두 가지로 나눈 이유는??>

1. 하나의 주문에는 여러 개의 상품들이 들어갈 수 있음 
ex) 장바구니에 여러개의 상품들을 넣어놓고 한 번에 주문을 하는 경우 


2. 하나의 주문에 여러 개의 상품들이 들어가게 되면 주문번호(PK)로 각각의 상품들을 구분해서 뽑아낼 수 없음(중복되는 값이 생길 수 있음)  

-> 주문한 각각의 상품정보를 관리하기 위해서 주문상세 테이블을 생성해 주문 상세 번호(PK)를 생성해 중복되는 데이터를 없앨 수 있음

 

<상품 테이블과 상품 카테고리의 관계>

- 관리자가 상품을 등록할때 상품 카테고리(상의, 하의, 신발)에 존재하는 것들에서만 카테고리 선택이 가능 

 

기타 사항) 

전체적으로 필요한 큰 틀만 잡고 세부적인 것들(게시판, 채팅)은 나중에 따로 추가를 하자 

참고 1 : cskstory.tistory.com/entry/%EC%97%94%ED%84%B0%ED%8B%B0-%EB%B6%84%EB%A5%98%ED%95%98%EA%B8%B0-%EC%98%88%EC%A0%9C

 

엔터티 분류하기 - 예제

지난글에서는 엔터티의 분류를 설명해드렸는데요, 글 마지막에 약속드린대로, 오늘은 erd 예제를 가지고 엔터티를 분류해 보도록 할께요. 언제든 예제를 보는게 가장 기본이면서 효과적인 학습

cskstory.tistory.com

참고 2:velog.io/@ash3767/DB-ERD-%EB% AA% A8% EB% 8D% B8% EB% A7%81

'프로젝트' 카테고리의 다른 글

쇼핑몰 결제 서비스 사용하기  (0) 2020.12.17
2차 DB설계  (0) 2020.12.15
장바구니 구현하기  (0) 2020.12.11
상품 대댓글 구현하기  (0) 2020.12.11
쇼핑몰 프로젝트 기획안  (1) 2020.12.01