오늘은 주문과 배송 관련해서 모델링 공부를 했다.
이력과 내역의 경우 중요 엔티티에 종속되는 행위 엔티티다.
따라서 중요 엔티티가 사라지면 같이 사라지게 설계해야 한다.
내역과 상세는 같은 용어이지만 책에서는 내역으로 통일할 것을 권한다.
혹은 상세 내역 식으로 수식하는 데 상세를 사용한다.
교차 테이블이 필요한 경우는 다대다의 경우이다.
주문과 상품
1. 한 번의 주문에 여러 개의 상품을 담을 수 있다.
2. 한 개의 상품을 여러 개의 주문에 추가할 수 있다.
=> 주문_상품이라는 교차 테이블을 생성한다.
배송과 상품
1. 한 번의 배송에 여러 개의 상품을 담을 수 있다.
2. 한 개의 상품을 여러 군데로 배송할 수 있다.
=> 배송_상품이라는 교차 테이블을 생성한다.
별도의 테이블로 분리할 경우 관계를 설정하고 인덱스를 참조해서 들어간다.
인덱스는 pk 설정 시 자동으로 등록된다.
회원쪽의 경우는 가입내역 테이블을 추가했다. 기존에는 로그인 이력을 사용해서 관리할려고 했는데
접속마다 데이터가 늘어날 것이기에 너무 스캔에 오래 걸릴 거 같아 데이터가 적을 가입내역 테이블을 추가했다 (내역 => 상세, 이력 => 히스토리)