<스타벅스 음료 페이지 모델링>
필수 구현 사항 : 음료, 카테고리, 영양 정보, 알러지, 음료 이미지, 음료 설명, 신상 여부
구현 제외 사항 : 프로모션, 음료 사이즈
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을 정의내릴 줄 알아야한다
- 처음엔 어려워도 뒤돌아보면 그리 어렵지 않으니 힘내자