티스토리 뷰
반응형
DB 의 연관관계
- JPA 가 제공하는 연관관계는 결국 DB 의 연관관계를 표현하기 위함
- 따라서 먼저 DB 의 연관관계를 이해해야 함
- DB 의 연관관계는 비즈니스 요구사항에 맞춰 이루어짐
음식 주문앱 DB 설계 예제
👉 예를 들어, 우리가 음식 주문앱 DB를 설계한다고 가정해볼게요! 일단 "고객이 1개의 음식을 주문할 수 있다"라는 요구사항을 받았다고 해봅시다. |
일단 각 주체의 테이블 설계가 필요
- 고객 (User) 테이블
- 음식 (Food) 테이블
- 연관 관계 고민
- 고객이 음식 주문 시, 주문 정보는 어느 테이블에 들어가야 할까?
- 고객 테이블? 음식 테이블??
- Tip) 테이블 설계 시 실제 값을 넣어봄
- 시도1) "고객 테이블" 에 주문 정보를 넣어보자!!
- 문제점: 회원 중복
- 시도2) "음식 테이블" 에 주문 정보를 넣어보자~!!
- 그럴 듯 해 보이지만.. 먹깨비(userID = 2)가 '후라이드치킨'을 하나더 시킨다면??
- 문제점: 음식 중복
- '주문'을 위한 테이블이 필요 → Order 테이블 추가
- 회원 1명은 주문 N개를 할 수 있다.
- 회원 : 주문 = 1 : N 관계
- 음식 1개는 주문 N개에 포함될 수 있다.
- 음식 : 주문 = 1 : N 관계
- 결론적으로
- 회원 : 음식 = N : N 관계
반응형
'개발일지 > TIL' 카테고리의 다른 글
HashSet 이란? (0) | 2022.07.20 |
---|---|
JPA 연관관계, Spring Dada JPA (0) | 2022.07.18 |
JPA 영속성 컨텍스트 이해 (0) | 2022.07.18 |
JPA 이해 (0) | 2022.07.18 |
JPA (0) | 2022.07.17 |
댓글