TIL60. 스타벅스 모델링

Jaeyeon·2021년 3월 23일
0
post-thumbnail

< 1차 결과물 >

우리 조의 모델링 결과물이다.
one to one인 고유의 값을 가지고 있을 때는 따로 테이블을 설정 안해도 됐었는데
설정을 하여서 메모리의 값이 커질 수 있다고 생각하여 다시 한번 만들어봤다.

< 2차 결과물 >

one to one인 고유의 값을 모두 product 테이블안에서 직접 해결할 수 있도록 하였고

음료 알러지 같은 경우는 예를 들어
자바칩 프라푸치노는 우유,대두,밀 의 알러지 정보를 갖고 있고
우유 입장에서도 자바칩 프라푸치노, 돌체 라떼 등등 많은 음료를 가지고 있으니
many to many가 된다.
그러므로 중간에 이어주는 징검다리 테이블을 만들어서 징검다리 테이블에서 데이터를 끌어올 수 있도록 만들었다

카테고리의 종류는 많고 음료는 카테고리에서 딱 한번밖에 소속이 안되니
one to many로 설정하였고

영양정보는 one to one 이지만 안에 너무 많은 내용을 포함하고 있어 따로 테이블을 만들어 관리를 했다.

지훈님의 Feedback

1. 테이블 이름을 지을 때는 소문자 복수형으로 짓기

2. True or False 를 사용할 때는 타입을 TINYINT 사용하기

3. 이미지 url 저장할때는 varchar(2000) 로 설정하여 2000자 정도는 여유로 주기

4. 소수점을 사용할때는 DECIMAL을 이용하여 사용할 수 있음

5. 이미지가 확장 될 수 있기때문에 이미지테이블을 따로 만들어서 many:1로 빼기
이미지를 한장만 가져오려면 화살표가 반대로 되어야하지만 많이 필요할 수도 있기 때문에 화살표를 빨간 동그라미처럼 방향을 잡을 것

6. many to many를 쓰는이유는 복수의 선택이 필요할 때 많이 사용 (중복적인 데이터를 만들지 않기위해)

7. 우리조의 1차 테이블처럼 많이 분산되면 데이터가 많이 쌓일 때 문제가 될 수 있다.

8. 알러지 True or False 는 알러지 데이터가 쌓일 때 번거로워 질 수 있음 매니투 매니로

9. 고유값은 product table에 직접 넣어도 상관없다

< 모범 적인 모델링 >

< 마지막으로 만들어 본 모델링 >

데이터베이스 모델링에는 정답이 없다.
다만 얼마나 효율적으로 모델링을 하느냐가 관건인 것 같다.

profile
생각하는 개발자 되기

0개의 댓글