https://www.erdcloud.com/d/BatZefBiFtRkQefui
TWINGKLING
Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.
www.erdcloud.com
member
로그인 시 가지고 올 기본 정보
로그인 만을 위한 table로 기타 개인 정보는 detail에 나누어 관리
member detail
로그인을 제외한 기타 개인정보등을 보관
member address
배송을 위한 회원 주소
메인 주소와 서브 주소로 나눌 예정
메인 주소는 고정이며 서브 주소는 가장 최근 사용을 기준으로 5개만 보관할 예정
role
아이디를 따로 부여해서 역할 또한 따로 배정
- 물건 판매자
- 구매자
address detail
회원 메인주소, 서브주소가 있기 때문에 간단한 테이블 관리를 위해
주소 형식 테이블을 따로 둠
cart(wish list)
장바구니 였으나...
세션이나 캐시로 관리하는 간단한 카트를 구현하기 위해
삭제 예정
order
주문 건당으로 1개 작성 예정
배송 비, 전체 가격 정보 포함
order detail
주문 건내에 개별 주문 정보 포함
pay
결제 시 형식, social등 정보 포함
product
판매 물건 정보
category
해당 물건의 카테고리
상위 카테고리가 있는 depth가 일정하지 않은 형식이라
upper category를 주어 트리 형태로 구현함
review
like
ERD 설계 시 고민 내용
- 비회원 주문 허용 여부
- 다중 판매자, 단일 판매자
- 도로명 주소 입력 방식 (Api), response 형식
- 카테고리 형식 (depth) - upper id 구현? 트리방식
- 판매자 구매자 id 별도? 동시 허용?
- 주소 - 입력 날짜 필요? 최근 사용날짜? save? (메인만 두고 나머지는 그냥 최근 사용 기준으로 5개만 남기는게?)
- 메인은 고정 PRIMARY
- 메인 아닌 5개 MEMBER ID 기반 GET — 이전 주소
- 새로운 주문 시 새로 주소 입력 받으면 이전 주소 탐색
- 이전 주소 5개 이하면 저장 후 끝
- 이전 주소 5개 이상이면 5개 중 가장 처음 사용된것 DELETED YN → Y // 주소 저장
- DELETED YN 스케줄링 삭제
- 카트 - 넣어둔 상태에서 판매 종료 됬을때 — 트리거 사용? 자체적으로 카트 돌려서 삭제?
'web 개발 > DB' 카테고리의 다른 글
<JPA>jpa 내에서 동적 sql 처리 (0) | 2024.05.28 |
---|