[DATABASE]스타벅스 서비스 모델링

박민하·2022년 5월 31일
0

DATABASE

목록 보기
2/13
post-thumbnail

<스타벅스 음료 페이지 모델링>
필수 구현 사항 : 음료, 카테고리, 영양 정보, 알러지, 음료 이미지, 음료 설명, 신상 여부
구현 제외 사항 : 프로모션, 음료 사이즈
Starbucks 사이트 참고

  위는 1차적으로 설계해본 스타벅스 서비스 모델링이다. 무엇이 잘못됐는지 하나씩 살펴보자.

✅ 모델링 팁

  • 데이터의 남용과 오용을 막는 정규화를 고려해라.
  • 제 3자가 쉽게 이해할 수 있게 설계해라.
    ex) 모든 이름은 명시적으로 지어야 한다. 누구나 무슨 의미인지 알도록!
  • 이름
    • 테이블 이름은 복수로 지어야 하고, 소문자로 지어야 한다.
      ex) category → categorys
    • id 이름은 id 로 지어라. 같은 의미로 모든 이름에 테이블 이름은 빼라.
      ex) category_id → id
      ex) name_cate → name
  • 이름에 있는 공백은 언더바로 나타내라.
  • 데이터 타입에 대해 고민을 많이하라.
    • 작은 숫자를 쓸 때 tiny_int 활용
    • 이미지의 데이터 타입은 png로 되어있으면 안된다. 실제 url로 들어갈 수 있게끔 varchar을 사용하자.
    • 숫자 데이터가 들어가더라도 소수점을 표현 할 수도 있고 여러 경우의 수가 있는 경우에는 안전한게 varchar을 쓰자.

✅ 올바른 모델링 예시

✅ decimal vs float

  데이터타입 decimal 과 float의 차이점은 뭘까.

decimal 1 + 1 = 2

본연 그대로의 값을 표현한다. 은행, 회계 등 단 하나의 소수점 오차가 없어야하는 완벽한 수학적 계산에서 사용된다.

float 1+1 != 2

  Float의 1은 1이 아닌 1에 근접한 값(근사치)이다. 반올림 등 사소한 오차는 큰 영향을 주지 않는 경우(통계 등) 보다 빠른 연산을 위해 사용된다.

✅ 마지막으로

  • 컴퓨팅사고 & 문제 해결 역량 훈련 필수
  • 주어진 문제를 복합적으로 분석하여 하나하나 나의 행동에 대한 step을 정의내릴 줄 알아야한다
  • 처음엔 어려워도 뒤돌아보면 그리 어렵지 않으니 힘내자
profile
backend developer 🐌

0개의 댓글