[DB] 스타벅스 음료 ERD 모델링

그냥·2022년 5월 31일
0

db

목록 보기
1/3

ERD 구현 목표

스타벅스 음료 페이지에서 아래 항목을 DB에 넣는 다고 생각하고 ERD를 구현해보고자 한다.

  • 필수 구현 사항 : 음료, 카테고리, 영양 정보, 알러지, 음료 이미지, 음료 설명, 신상 여부


<그림1 - 스타벅스 음료 페이지>





<그림2 - 나이트로 바닐라 크림 상세 페이지>





ERD 구현

  • 위와 같이 '음료'를 중심으로 나머지 항목들을 어떤 형식으로 테이블로 만들고 관계를 지을지 생각해보았다.
Table drinks{
  id int [pk, not null, increment]
  name varchar(200) [default: NULL]
  category_id int(10) [default: NULL]
  nutrients_facts_id int(10) [default: NULL]
  
}

Table nutritional_facts{
  id int [pk, not null, increment]
  kcal decimal [default: NULL]
  sugars_g decimal [default: NULL]
  proteins_g decimal [default: NULL]
  sodium_mg decimal [default: NULL]
  saturated_fat_g decimal [default: NULL]
  caffeine_mg decimal [default: NULL]
}


Table categories{
  id int [pk, not null, increment]
  menu_id int(10) [default: NULL]
  name varchar(200) [default: NULL]
}

Table menus{
  id int [pk, not null, increment]
  name varchar(200) [default: NULL]
}

Table drinks_allergies{
  id int [pk, not null, increment]
  drink_id int(10) [default: NULL]
  allergy_id int(10) [default: NULL]
}

Table allergies{
  id int [pk, not null, increment]
  allergy_name varchar(200) [default: NULL]
}

Table image_urls{
  id int [pk, not null, increment]
  drink_id int(10) [default: NULL]
  url varchar(200) [default: NULL]
}


Table descriptions{
  id int [pk, not null, increment]
  info varchar(200) [default: NULL]
}

Table new{
  id int [pk, not null, increment]
  category varchar(200) [default: NULL]
}




Ref: "drinks"."category_id" < "categories"."id"

Ref: "drinks"."nutrients_facts_id" < "nutritional_facts"."id"

Ref: "drinks"."id" < "drinks_allergies"."id"

Ref: "drinks"."id" < "image_urls"."drink_id"

Ref: "drinks"."id" < "descriptions"."id"

Ref: "drinks"."id" < "new"."id"

Ref: "drinks_allergies"."allergy_id" < "allergies"."id"

Ref: "image_urls"."id" < "image_urls"."drink_id"

Ref: "categories"."menu_id" < "menus"."id"


<그림3 - 구현한 ERD>

0개의 댓글