스타벅스 메뉴 모델링

jun17114·2020년 12월 21일
20
post-thumbnail

🌴 데이터 모델링이란?

데이터 모델링은 현실세계의 존재하는 데이터를 단순화 시켜서 컴퓨터 세계의 데이터베이스로 변환하는 과정이다. 모델링은 현실 세계를 추상화 명확화 단순화 시키는 것이다.

그래서 오늘은 스타벅스의 메뉴판을 모델링 할 것입니다.

☕️ 스타벅스 메뉴 조사하기

스타벅스의 메뉴판을 조사하면서 메뉴가 이렇게 많은지 처음 알았습니다. 메뉴는 크게 음료 음식 상품 카드 등이 있지만 오늘은 여기서 음료음식만 다루려고 합니다.

음료 메뉴를 자세하게 보면 또 작은 카테고리들이 존재합니다. 콜드 브루 커피 에스프레소 블렌디드 등이 존재하고 그 안에 이제 우리가 아는 아메리카노, 카페모카 같은 상품들이 있다.

아메리카노를 클릭해보면 사진이 나오고 설명, 사이즈 별 영양정보, 알레르기 유발요인 등이 있다. 생각해보니 가격은 없지만 이따가 모델링 때는 허전해서 추가해주었다.

이렇게 현실세계의 상품을 조사했으니 모델링 할 준비는 끝났다.


🍪 메뉴 모델링

스타벅스 메뉴 모델링을 네 단계로 나누어서 설명해보겠습니다.

메뉴

메뉴에는 음료 음식 카드 등등 여러가지가 존재한다. 그래서 먼저 menus라는 첫번째 테이블을 만들어 주었습니다. 그 다음에 음료음식 같은 한 메뉴가 여러 카테고리로 또 나뉘어집니다. 이것을 categories라는 테이블을 만들어 menusone-to-many 관계로 만들어 주었습니다.

상품

이제 카페 아메리카노, 콜드 브루, 골든 치즈 케이크와 같은 상품들을 모델링 할 차례입니다. 모든 상품은 이름이 있고, 가격, 설명이 필요합니다. 영양정보는 다양한 요소가 존재해서 따로 테이블을 만들어 주기로 했으며, 알레르기 유발요인은 한 음료가 여러 알레르기를 유발할 수 있고 한 요인이 여러 음료에 포함될 수 있기 때문에 many-to-many 관계인 테이블을 만들어 주었습니다.

한 상품에 대하여 이미지가 여러장인 경우도 존재 합니다. 그래서 images 테이블을 만들어 one-to-many 관계로 연결해주었습니다.

영양정보

한 상품에 대해서 각자의 영양정보가 있고 그에 따른 상품 크기가 있습니다. one-to-one 관계로 연결된 두개의 테이블을 만들어 관리합니다.

알레르기 유발요인

알레르기 유발요인productsallergens사이를 product_allergens가 중간에서 서로의 id를 받아 다리를 이어줍니다.


4개의 댓글

comment-user-thumbnail
2020년 12월 22일

우와 정리 엄청 깔끔하네요! 잘 보고 갑니다👍

1개의 답글
comment-user-thumbnail
2020년 12월 24일

어려웠는데 이해하는데 많이 도움됐어요 ㅎㅎ 저도 잘보고 갑니다 꾸욱 -! 👍🏻

1개의 답글