🐥 카카오테크캠퍼스 - 2단계 1주차 기본 Entity 설계User(사용자)Product(상품)Option(옵션)Cart (장바구니)Order(주문)고민거리Item(주문 아이템)고민 거리질문관련 글부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
티스토리 뷰
🐥 카카오테크캠퍼스 - 2단계 1주차 기본 Entity 설계
User(사용자)
- id : PK
- userName : 유저 이름
- email : 이메일
- password : 비밀번호
- createDate : 생성 날짜
- updateDate : 수정 날짜
Product(상품)
- 상품 상세보기
- id : PK
- productName : 제품 명
- description : 제품 설명
- image : 제품 사진
- price : 제품 가격
- starCount : 별점
- createDate : 생성 날짜
- updateDate : 수정 날짜
Option(옵션)
- id : PK
- productId : FK->Product.id
- optionName : 옵션 이름
- price : 옵션 가격
- createDate : 생성 날짜
- updateDate : 수정 날짜
Cart (장바구니)
- id : PK
- userId : FK -> User.id
- orderItem : FK -> Item.id
- totalPrice : 장바구니 가격
- quantity : 장바구니에 들어간 갯수
- createDate : 생성 날짜
- updateDate : 수정 날짜
Order(주문)
- id : 주문 번호(PK)
- userId : FK -> User.id
- orderItem : FK -> Item.id
- totalPrice : 장바구니 가격
- createDate : 생성 날짜
- updateDate : 수정 날짜
고민거리
- Order에 Order Item이 필요할까? 그냥 Item 테이블에 Order를 넣어두고 조회를 하는게 Join 보다 좋지 않을까?
SELECT
Order.id,
Order.user_id,
Order.total_price,
Order.order_date,
Item.product_id,
Item.quantity,
Item.price
FROM
Order
INNER JOIN
OrderItem
ON
Order.id = OrderItem.order_id
WHERE
Order.id = YOUR_DESIRED_ORDER_ID;
Item(주문 아이템)
- id : PK
- orderId : FK -> Order.id : 주문 번호
- optionId : FK -> Option.id
- productId : FK -> Product.id
- quantity : 옵션 갯수
- createDate : 생성 날짜
- updateDate : 수정 날짜
고민 거리
- Option에 있는 주문 번호를 조회해서 가져오는 것보다는 이미 가지고 있는게 좋을거 같은데?
질문
- TypeORM을 쓰면 엔티티를 전체를 바로 참조 가능한데, 내부적으로는 pk를 자동으 fk로 변경하는거였음
- 이래서, 베이직한 것을 알아야 하는 구나
관련 글
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
728x90
'프로젝트 > 카카오 테크 캠퍼스' 카테고리의 다른 글
🐥 카카오테크캠퍼스 - 2단계 2주차 과제 (0) | 2023.07.03 |
---|---|
🐥 카카오테크캠퍼스 - 2단계 1주차 Entity 최종 설계 (0) | 2023.06.29 |
🐥 카카오테크캠퍼스 - 2단계 1주차 Entity 세부 설계 (0) | 2023.06.28 |
🐥 카카오테크캠퍼스 - 2단계 1주차 과제 분석 (0) | 2023.06.27 |
🐥 카카오 테크 캠퍼스 - 노션 캘린더 구글로 마이그레이션하기 (0) | 2023.04.24 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발/보안
- 개발/네트워크
- 개발/에러
- 개발/MySQL
- 카카오테크캠퍼스
- 개발/Java
- 알고리즘
- 대외활동/카카오테크캠퍼스
- ⌨️Developer/보안
- ai
- 개발/Tools/프레임워크/Spring
- ⌨️Developer
- 개발/환경
- 개발/CS/OS
- 개발/Electron
- AI/GPT
- 카카오 테크 캠퍼스
- 개발/언어론
- 취업
- 개발
- 개발/프레임워크&라이브러리
- AI/ML
- 개발/언어/Java
- 개발/컴퓨터네트워크
- 개발/Java/Spring
- 카테캠
- 개발/CS/알고리즘
- 개발/webrtc
- 개발/OOP
- electron
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함