Как должна выглядеть структура базы данных для timeTable?



@andrei__173

В базе данных необходимо реализовать сущности для хранения календарей времени для пользователей. То есть, у пользователя, который предоставляет услуги, есть возможность выбирать рабочие/нерабочие дни, выбирать интервалы рабочего времени и т.д.
У другого пользователя, который желает воспользоваться услугами, на страницу должен подгружаться календарь из базы данных, где есть возможность выбрать день и время для записи.

Выглядит это примерно вот таким образом

642b01a1ce8e4925623591.png
642b02b1f2959394280534.png

Как правильно организовать структура в базе данных, чтобы можно было удобно заполнять данные календаря, и при этом, подтягивать их в таблицу с записями, чтобы выводить пользователю дату и время услуги, на которую он записался?


Решения вопроса 0


Ответы на вопрос 1



@leahch

Так как секунды Вам хранить не нужно, то храните две цифири — дату (тут можно использовать и юних-тайм и просто sql-date) и время в минутах 0-1440.
У врача табличка — дата и слоты приема, либо просто дата, а слоты рассчитывать динамически в зависимости от времени работы. Я бы рассчитывал динамически, можно и из диапазона дат.
Тогда табличка примерно следующяа занятых слотов
IdDR | IdCLNT | Date        | Time
1000 | 20100  | 2023-10-10  | 720
1000 | 20110  | 2023-10-10  | 735
1000 | 20120  | 2023-10-10  | 800

Просто искать по датам, просто искать по занятым слотам, просто хранить, просто считать интервалы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *