프로젝트/개인 프로젝트 V1
(2) 테이블 설계
Thumper
2022. 8. 1. 21:11
1. Database Schema

1. 회원 (users)
- 회원정보로 name, loginId, password, email, 배송지정보가 있다.
- 배송지정보(city 도시, street 도로명주소, zipcode 우편번호)는 Address 임베디드 타입 정보로 들어갔다.
2. 상품 (item)
- 상품정보로 categoryType(상품 카테고리), itemName(상품명), itemType(상품 상태등급), price(상품가격), stockQuantity(재고량)이 있다.
3. 상품 이미지(item_img)
- imgName(저장된 이미지 파일명), originImgName(이미지 이름), savePath(파일경로), reImgYn(대표 이미지)이 있다.
4. 장바구니 (cart)
- 회원별 주문한 상품들(orderItem)을 담는다.
- 주문정보로 상품정보(item), 각각의 주문수량(count), 상품주문액(orderPrice)이 있다.
2. 연관관계 매핑 분석
회원과 장바구니(users - cart)
- 일대일의 양방향 관계다. ( 연관관계를 표시하기 위해 양방향 매핑을 했다.)
- cart.users 를 cart.users_id 외래 키와 매핑한다.
장바구니와 주문상품(cart - orderItem)
장바구니에 담긴 상품 정보를 관리하기 위해, Cart와 Item 간의 다대다(M:N) 관계를 중간 테이블 OrderItem을 활용하여 일대다(1:N) 및 다대일(N:1) 관계로 분리하여 설계했다.
- 일대다 양방향 관계다.
- 외래 키가 주문상품에 있으므로 주문상품이 연관관계의 주인이다.
- orderItem.cart 를 order_item.cart_id 외래 키와 매핑한다.
주문상품과 상품(orderItem - item)
- 다대일 단방향 관계다.
- orderItem.item 을 order_item.item_id 외래 키와 매핑한다.
회원과 상품(users - item)
- 회원은 상품을 등록할 수 있다.
- 일대다 양방향 관계다.
- item.users를 item.users_id 외래 키와 매핑한다.
상품과 상품이미지(item- itemImg)
- 상품정보에 여러 개의 이미지가 포함된다.
- 일대다 단방향 매핑이다. (연관관계 주인은 itemImg이다.)
- item_id가 외래키가 되어 Item과 연관관계 매핑이 된다.