- 회원**(Member):** 이름과 임베디드 타입인 주소( Address ), 그리고 주문( orders ) 리스트를 가진다.
- 주문(Order): 한 번 주문시 여러 상품을 주문할 수 있으므로 주문과 주문상품( OrderItem )은 일대다 관계 다.
주문은 상품을 주문한 회원과 배송 정보, 주문 날짜, 주문 상태( status )를 가지고 있다.
주문 상태는 열 거형을 사용했는데 주문( ORDER ), 취소( CANCEL )을 표현할 수 있다. - 주문상품(OrderItem): 주문한 상품 정보와 주문 금액( orderPrice ),
주문 수량( count ) 정보를 가지고 있다. (보통 OrderLine , LineItem 으로 많이 표현한다.) - 상품(Item): 이름, 가격, 재고수량( stockQuantity )을 가지고 있다.
상품을 주문하면 재고수량이 줄어든 다.
상품의 종류로는 도서, 음반, 영화가 있는데 각각은 사용하는 속성이 조금씩 다르다. - 배송(Delivery): 주문시 하나의 배송 정보를 생성한다.
주문과 배송은 일대일 관계다. 카테고리(Category): 상품과 다대다 관계를 맺는다.
parent , child 로 부모, 자식 카테고리를 연결한다. - 주소(Address): 값 타입(임베디드 타입)이다. 회원과 배송(Delivery)에서 사용한다.