akretschmer
Datenbank-Guru
- Beiträge
- 10.376
Um die zweite Lösung noch kurz zu erklären:Deine Lösung habe ich leider aufgrund mangelnder Kenntnisse nicht verstanden.
* PostgreSQL hat eine RANGE-Datentyp. Da kannst Du sagen, im Zeitraum von - bis ist etwas belegt (z.B.), mit Angabe, ob die Grenzen inklusive oder exclusive sind. '[2022-08-12,2022-08-22)' z.B. ist vom 12.8. - 22.8., dabei ist der 12. inclusive (siehe '[') und der 22. exclusive (siehe ')')
* ich nutze einen GiST-Index, der kommt aus der Geometrie. Stelle Dir ein Koordinatensystem vor, wo X und Y jeweils das Datum ist. Trage einen Punkt bei X=Y=12.8. und einen bei X=Y=22.8. ein und verbinde das zu einem Rechteck
* der EXCLUSION-Constraint sagt: prüfe das werkzeug auf Gleichheit und den Zeitraum auf Überlappung. Es darf also keine Kombination gleiches Werkzeug UND einer Überlappung der Zeiträume geben.
Sagte ich schon, daß MySQL Lichtjahre davon entfernt ist, sowas zu können?