Ich versuche derzeit, den besten Weg zu finden, um die Betriebsstunden eines Unternehmens in einer Datenbank zu speichern.
Zum Beispiel:
Geschäft A hat die folgenden Betriebsstunden
- Montag: 9 bis 17 Uhr
- Dienstag: 9 - 17 Uhr
- Mittwoch: 9 bis 17 Uhr
- Donnerstag: 9 - 17 Uhr
- Freitag: 9 - 17 Uhr
- Samstag: 9 - 12 Uhr
- Sonntag: Geschlossen
Derzeit habe ich ein Datenmodell ähnlich dem folgenden
CREATE TABLE "business_hours" (
"id" integer NOT NULL PRIMARY KEY,
"day" varchar(16) NOT NULL,
"open_time" time,
"close_time" time
)
wobei der "Tag" auf eine Auswahl der 7 Wochentage im Code beschränkt ist (über das ORM). Um zu testen, ob ein Unternehmen an einem bestimmten Tag geschlossen ist, wird überprüft, ob open_time und close_time NULL sind. Es ist über eine Zwischentabelle (Many To Many Relationship) mit dem Geschäft verbunden.
Hat jemand Vorschläge für dieses Datenbankschema? Etwas daran scheint mir nicht richtig zu sein.