//////
Search

ERD 구성 (수정 2안)

Progress
완료
공유 일자
2021/10/31

수정

ERD 수정 내용

open_time 테이블
day, start. day 3가지의 기존 컬럼 제거
closed_day ⇒ 휴무일이 하루가 아닐 경우가 있어, ENUM 타입으로 사용하기에는 부담이 있어보여, VARCHAR 타입 수정
operation_start ⇒ 오픈 시간
operation_end ⇒ 마감 시간
break_start ⇒ 브레이크 시작 시간 (브레이크 시간이 없을 경우도 있어 NULL 허용)
break_end ⇒ 브레이크 종료 시간 (브레이크 시간이 없을 경우도 있어 NULL 허용)
restaurant 테이블
last_update ⇒ 정보 최신화 여부를 확인하기 위해 추가
menu 테이블
last_update ⇒ 정보 최신화 여부를 확인하기 위해 추가
tip 테이블
last_update ⇒ 정보 최신화 여부를 확인하기 위해 추가
last_update 속성에 대한 의논 사항 @Cheolho Jeon @Daewon Park
속성 추가 이유 : 현재 소개하는 식당의 자료가 언제적 자료인지 현행화 시켜놓기 위함.
조건
menu 테이블 업데이트 되면 restaurant 테이블이 최신화 되어야 하나?
tip 테이블 업데이트 되면 restaurant 테이블이 최신화가 되어야 하나 ?
만약 메뉴만 업데이트 되고 팁 업데이트가 과거 일 때 식당 테이블은 해당 속성을 메뉴 테이블 기준으로 업데이트 해야하나 ?
방안
1안) restaurant, menu, tip 모두 각각 last_update 정보가 있게 구현
2안) menu와 tip의 업데이트가 발생하면, restaurant 테이블의 last_update 속성이 변경 되도록 트리거 작성 (요즘 추세는 트리거를 모델링에 포함 시키지 않기 때문에 비추천 방식)
추가 안에 대한 의논 필요.

DDL 수정 내용

UUID 상속(자식) 제외 하고 부모는 default uuid_generate_v4() 완전 랜덤 값으로 적용 했어요.

상속 관계

구성 1안과 동일함.
1.
category
a.
restaurant 테이블의 부모
2.
tip
a.
restaurant_tip 테이블의 부모
3.
restaurant
a.
open_time 테이블의 부모
b.
menu 테이블의 부모
c.
restaurant_tip 테이블의 부모
4.
open_time
5.
menu
6.
restaurant_tip

테스트 용 DDL

SQL