나는 이벤트 캘린더를 만들고있다. 기본 기능은 다음과 같습니다.이벤트 캘린더의 데이터 모델을 최적화하는 방법은 무엇입니까?
매일 3 가지 상태, "사용 가능", "사용할 수 없음"및 "확인 필요"가 있습니다. 매일을 단일 상태 (즉, 이벤트)로 설정할 수 있습니다. 각 이벤트는 매주 또는 매달 반복되거나 전혀 반복되지 않도록 설정할 수 있습니다.
각 일정은 개체에 따라 다릅니다 (각 개체에는 고유 한 일정이 있습니다).
캘린더에는 "종료 날짜"가 없습니다. 미래의 특정 날짜에 일정이있을 수 있습니다.
상상 데이터 모델이되었다 :
Table: Calendar
id
user_id
Table: Status
id
label
Table: Event
id
calendar_id
start_date
status_id
recurring -- enum type: NULL, W, or M for weekly or monthly
이 데이터를 저장하는 매우 우아한 방법이 될 것 같다,하지만 난 검색 걱정 :에 대한 상태를 얻을 상당히 복잡 할 것 주어진 하루.
더 나은 방법이나 표준 방법이 있습니까?
nullable bool 상태로 충분하지 않았습니까? 또는 나중에 다른 주를 추가 할 수있는 가능성을 예약 하시겠습니까? –
예, 일부 다른 주에서 나중에 올 수 있습니다. – jihi