ERD(Entity Relationship Diagram)
ERD
- 한번에 구축할 수 없다. API 개발 하면서 계속 수정해 나가야한다.
- ERD란?
- Entity Relationship Diagram
- 개체-관계 모델. 테이블 간의 관계를 설명해주는 다이어그램으로 프로젝트에서 사용되는 DB구조 한눈에 파악 가능
- 테이블 옵션
- AutoIncrement
- 자동 id 생성자?
- pk유지할 수 있도록 인덱스 값 자동으로 올려주는 옵션
- PrimaryKey
- ForeignKey
🏍 배달의 민족 DB 구성 - 수정예정
- User (사용자)
- 배민의 회원 페이지를 잘 살펴 보자.
- 이번 달은 고마운분 .. 등급 칼럼도 있다!
- createAt : 회원 가입 날짜, 정보 수정 날짜
- profileImageURL : 유저 프로필 사진, Nullable
- Order (배달 주문)
- 주문에, itemId, itemPrice 등은 필요 없다. 그냥 총 가격만 명시되어있으면 된다.
원래 역 정규화를 이용해 itemPrice 등을 테이블에 추가하고 ~ 그랬다
- 아니다. 주문목록과 주문 테이블을 따로 해야한다. 주문 상품 목록 : 상품 = 1 : N
- 주문 상품 목록 : 상품1,상품2,상품3, (전체 가격→ 쿼리로 계산)
- 상품 : 상품명,상품 가격
- 그래서 총 가격은 주문 목록의 전체 가격에서 나오는거다.
- Store (가게)
store 테이블에 items(상품 목록)를 넣어야하는지 의문이다. → store : item = 1 : N 하나의 가게에 여러개의 상품들이 들어온다.
- bucket(장바구니, 주문 목록)
- bucket : store = 1 : 1
- store : item = 1: N
- bucket : item = 1: N
- Item (상품)
- 옵션 그런건 나중에 생각하고, 일단 물품 하나만 산다고 생각하자.
- bucket : item = 1 : N