В настоящее время я пытаюсь разработать лучший способ хранения часов работы в базе данных.
Например:
Бизнес A имеет следующие часы работы
- Понедельник: 9:00 - 17:00
- Вторник: с 9:00 до 17:00
- Среда: 9:00 - 17:00
- Четверг: 9:00 - 17:00
- Пятница: с 9:00 до 17:00
- Суббота: 9:00 - 12 полдень
- Воскресенье: Закрыто
В настоящее время у меня есть модель данных, аналогичная следующей
CREATE TABLE "business_hours" (
"id" integer NOT NULL PRIMARY KEY,
"day" varchar(16) NOT NULL,
"open_time" time,
"close_time" time
)
где "день" ограничен выбором семи дней недели в коде (через ORM). Чтобы проверить, закрыт ли бизнес на определенный день, он проверяет, являются ли open_time и close_time NULL. Это связано с бизнесом через промежуточную таблицу (отношение многих к многим).
Есть ли у кого-нибудь предложения по этой схеме базы данных? Что-то в этом не похоже на меня.