Datentyp für Intervalle mit Wochentag und Start-/Stopzeit

Hallo zusammen,

ich bin momentan dabei, eine Anwendung zu stricken, die anhand einer Logtabelle und einer Tabelle mit definierten Servicezeiten eine Verfügbarkeit errechnen soll.

Nun frage ich mich, welcher Datentyp sich wohl am Besten dafür eignet, etwas wie “System A hat die definierten Servicetage: Mo-Fr, Servicezeiten: 05:00 - 20:00”, “System B hat die definierten Servicetage: Mo-So, Servicezeiten: 01:30-01:20” etc. abzubilden, so dass man die diese Daten mit den Logs verknüpfen kann.
Drei Spalten, eine mit vom Typ String-Array zum Ablegen der Wochentage und zwei mit Start- und Endzeit?
Dann eine Funktion schreiben, die für die Logeinträge im Timestamp-Format jeweils den konkreten Wochentag im Klartext extrahiert und entsprechend matched? Hört sich irgendwie hässlich an.
Der Datentyp “interval” ist leider zu allgemein, da ich ja an “zusammengesetzen” Intervallen interessiert bin, die zusätzlich zum Zeitfenster noch ein Wochentag-Intervall beinhalten, für das das Zeitfenster gilt.
Hat jemand eine elegantere Lösung, wie man das Problem angehen könnte?

Viele Grüße,

m1ll3

Strings würde ich schon mal vermeiden, smallint böte sich an, da extract() den Wochentag auch als INT liefert. Und ich würde Arrays vermeiden.

Dann eine Funktion schreiben, die für die Logeinträge im Timestamp-Format jeweils den konkreten Wochentag im Klartext extrahiert und entsprechend matched? Hört sich irgendwie hässlich an.

Eventuell könntest Du von OVERLAPS profitieren.


Andreas