Obecnie próbuję znaleźć najlepszy sposób na przechowywanie godzin pracy firmy w bazie danych.
Na przykład:
Firma A ma następujące godziny pracy
- Poniedziałek: 9:00 - 17:00
- Wtorek: 9:00 - 17:00
- Środa: 9:00 - 17:00
- Czwartek: 9:00 - 17:00
- Piątek: 9:00 - 17:00
- Sobota: 9:00 - 12:00
- Niedziela: zamknięte
Obecnie mam model danych podobny do następującego
CREATE TABLE "business_hours" (
"id" integer NOT NULL PRIMARY KEY,
"day" varchar(16) NOT NULL,
"open_time" time,
"close_time" time
)
gdzie „dzień” jest ograniczony do wyboru z 7 dni tygodnia w kodzie (poprzez ORM). Aby sprawdzić, czy firma jest zamknięta w określonym dniu, sprawdza, czy wartości open_time i close_time mają wartość NULL. Jest powiązany z biznesem poprzez tabelę pośrednią (relacja wiele do wielu).
Czy ktoś ma jakieś sugestie dotyczące tego schematu bazy danych? Coś w tym wydaje mi się nie w porządku.