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