ERD(Entity Relationship Diagram)

정 승 연·2023년 1월 19일
0

dbdbddbb

목록 보기
1/2

ERD

  • 한번에 구축할 수 없다. API 개발 하면서 계속 수정해 나가야한다.
  • ERD란?
    • Entity Relationship Diagram
    • 개체-관계 모델. 테이블 간의 관계를 설명해주는 다이어그램으로 프로젝트에서 사용되는 DB구조 한눈에 파악 가능
  • 테이블 옵션
    • AutoIncrement
      • 자동 id 생성자?
      • pk유지할 수 있도록 인덱스 값 자동으로 올려주는 옵션
    • PrimaryKey
    • ForeignKey

🏍 배달의 민족 DB 구성 - 수정예정

  • 부모-자식 관계 구성
  • 1:1, 1:N, N:M 관계 구성
  • mysql 더미데이터 넣어보기

  • ERD 설계 Tool에서 expert를 하여 DDL(create 등)을 뽑아서 사용할 수 있다.
  • 지난 주차에 본인이 설계한 DB를 바탕으로 App의 특정 화면을 여러 개 정해서 각 화면에 대한 쿼리 작성
  • 더미 데이터 만들기
  • [선택] App의 특정 화면의 데이터를 한번에 가져올 수 있는 쿼리(한방쿼리) 작성해보기
    (단, 모든 화면을 한방쿼리로 할 수 있는 것은 아니니 분별이 필요합니다!)

  • 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

0개의 댓글