Attualmente sto cercando di trovare il modo migliore per memorizzare l'orario di apertura di un'azienda in un database.
Per esempio:
L'attività A ha i seguenti orari di apertura
- Lunedì: 9:00 - 17:00
- Martedì: 9:00 - 17:00
- Mercoledì: 9:00 - 17:00
- Giovedì: 9:00 - 17:00
- Venerdì: 9:00 - 17:00
- Sabato: 9:00 - 12:00
- Domenica: chiuso
Attualmente ho un modello di dati simile al seguente
CREATE TABLE "business_hours" (
"id" integer NOT NULL PRIMARY KEY,
"day" varchar(16) NOT NULL,
"open_time" time,
"close_time" time
)
dove il "giorno" è limitato alla scelta dei 7 giorni della settimana in codice (tramite ORM). Per verificare se un'attività viene chiusa in un determinato giorno, controlla se open_time e close_time sono NULL. È correlato al business tramite una tabella intermedia (relazione molti a molti).
Qualcuno ha dei suggerimenti per questo schema di database? Qualcosa al riguardo non mi sembra giusto.