[Bob Morgan] 모델링

이태권 (Taekwon Lee)·2022년 7월 7일
0

[Project] Bob Morgan

목록 보기
1/6
post-thumbnail

[밥 먹언] 모델링

7월 5일 (화) 초안

설명은 places부터 시계방향으로 설명할 것이다.

  • 가운데 placesusers가 두 축이다.
  1. places는 맛집이다. 맛집에 필요할 데이터를 넣었다.
    • maximum_number_of_subscriber는 최대 예약 인원 수인데, reservationsnumber_of_people가 이를 초과하면 안되기에 만들었다.
    • able_to_reserve는 예약 기능을 지원하는지 아닌지를 판별하려고 만들었다.
    • closed_temporarily는 휴업 중인지 아닌지를 판별하기 위해 만들었다.
  2. 우측 상단의 menusplacesmany-to-many 관계이다.
    • 하지만 중간 테이블은 단순히 둘의 아이디가 아닌, 가격이 필요하기에 prices 테이블을 생성하여 외부 키로 연결하였다.
  3. prices는 500원부터 100만원까지 500원 단위로 구분한 테이블이다. 해당 메뉴의 가격을 넣기 위해 넣었다.
  4. categories, images, regionsplacesone-to-many 관계이다.(placesmany)
  5. social_platforms는 kakao, naver 같은 소셜 로그인 기능을 지원하는 소셜 플랫폼이다.
    • 단순히 users에서 kakao_id를 넣지 않고 분리한 이유는 추후 확장성을 고려해서이다.
  6. users는 회원이다.
    • date_of_birth를 넣은 이유는 추후 술집을 넣을 수도 있을 것 같아 넣었다.
  7. timelines10:00부터 23:30까지 30분 간격으로 넣은 테이블이다. 몇 시에 예약할지 30분 단위로 나누어 놓았다.

7월 6일 (수) 수정본

  1. imagesplacesone-to-many 관계인데, imagesmany이므로 (한 맛집에 여러 사진) 테이블 관계를 바꾸었다.
  2. platforms 테이블을 새로 생성, 일종의 중간 테이블로, platform_id에 해당 플랫폼의 id가 들어 간다.(카카오의 경우 kakao의 id)
  3. reservationsname은 무엇에 대한 이름인지 헷갈려 '~의 이름으로 예약하다'를 의미하는 under_name로 변경
  4. timelinestime 형태를 varchar으로 time로 수정하였다.

7월 7일 (목) 수정본

  1. platformplatform_id가 중복 사용되어 serial_number로 수정하였다.
profile
(Backend Dev.) One step at a time

0개의 댓글