[Spring JPA]_요구사항분석

youuu·2022년 11월 9일
0

Study

목록 보기
4/11

기능 목록

  • 회원 기능

  • 상품 기능

  • 주문 기능

  • 기타 요구사항

    • 상품 - 재고 관리가 필요.
    • 상품의 종류 - 도서, 음반, 영화.
    • 카테고리로 구분가능.
    • 상품 주문시 - 배송 정보를 입력할 수 있다.

이때 주문과 상품은 다대다 관계이다. 다대다 관계는 지양한다.
주문 상품을 추가 하여 일대다, 다대일 관계로 풀었다. (주문1:상품 다)

⭐️⭐️⭐️ 프로젝트 작업시에도 저렇게 풀어서 사용 해야겠다.


address는 임베디드 타입.
OrderItem -> 주문시점의 값 상태.

  • 카테고리-> 부모, 자식의 계층구조로 되어있다.
  • *many //
  • 다대다 사용하면 안된다. /
  • 양방향 연결관계 -> 가능하면 안쓰는게 좋다.
    (예제라서 다양한 예시를 위해 넣음.)
  • 주문을 하기위해 멤버가 필요하다.


회원테이블 분석 :
아이템 -> 싱글테이블 전략을 사용하였다. (한테이블에 다 넣고 책,영화 등등이 칼럼으로 섞여서 들어감 ->> 성능이 잘 나온다.)

관계형 데이터베이스에선 중간에 매핑테이블(category_item)을 두고 일대 다로 만든다.


연관관계 맵핑 분석 :

회원과 주문: 일대다 , 다대일의 양방향 관계다.
따라서 연관관계의 주인을 정해야 하는데, 외래 키가 있는 주 문을 연관관계의 주인으로 정하는 것이 좋다.
그러므로 Order.memberORDERS.MEMBER_ID외래 키와 매핑한다.

  • Order에 있는 member가 주인이 된다.
    Member에 있는 orders는 거울이된다(단순조회)

⭐️⭐️⭐️ 연관관계 중요

연관관계의 주인은 단순히 외래키를 누가 관리하냐의 문제. 비즈니스상 우위에 있다고 주인으로 정하면 안된다.


개발 :

->>

profile
공부중인 주니어 개발자

0개의 댓글