과제였던 스타벅스 데이터 베이스 모델링 포스팅이다.
우리 팀은
메인 카테고리와 서브 카테고리의 관계가 1:N이라고 보았다.
음료라는 메인 카테고리에서 에스프레소,프라푸치노등의 다수의 서브 카테고리로 나눠지기 때문이다.
마찬가지로 에스프레소라는 서브 카테고리에서 아메리카노,라떼 등의 다수의 프로덕트로 나눠지기 때문에 아 관계 또한 1:N으로 보았다.
고민했던 부분은 영양정보, 알러지성분, 이벤트관련 내용이었다.
일단 첫번째로 영양정보는 1:1관계로 생각했다.
물론 영양정보 안에서 sugar,sodium등의 많은 정보로 나눠지지만 그걸 다시 테이블로 빼서 관리하는건 비효율적이라고 생각했기 때문이다.
영양정보를 스트링타입으로 통으로 넣을 생각을 했다는 점이다.
그 부분은 sugar,sodium ... 으로 세분화해서 넣어주는게 관리하기 편하다는 것을 후에 피드백 받았다.
두번째로 알러지 성분은 N:N 관계로 보았다.
예를들어 우유라는 알러지 유발 성분이 있다면 그 우유는 라떼에도 들어가고 돌체라떼에도 들어가고 많은 음료에 들어가기 때문이었다.
N:N 관계에서는 중간 테이블을 만들어서 관계를 나눠주었다.
마지막 이벤트 관련 내용도 마찬가지였다.
그 관계도 N:N관계로 보아서 중간 테이블을 만들어서 나눠주었다.
신메뉴이면서 시즌한정인 품목도 있기 때문에 중간 테이블 역할이 필요하다고 보았다.
데이터베이스 관계와 효율적인 관리를 더 공부해야겠다.
또한 null 값을 아예 신경 안쓴 부분도 반성해야겠다.
관리와 선택이 필요한 부분을 신경을 안썼다는건 큰 문제이다.