Hmm,
Ich weiß ja nicht obs da noch immer unklarheiten gibt deshalb nochmal:
Es geht um 1 Objekt. Dieses kann für einen bestimmten Zeitraum reserviert werden. Dieses wird nun von Nutzer X reserviert. Also haben wir in der Datenbank den Start- und Endtimestamp.
Nun kann ein anderer Nutzer Y das Objekt auch reservieren. Dieser muss jedoch ebenfalls einen Startzeitpunkt und einen Endzeitpunkt angeben. Jetzt ist es ja mehr als Logisch das die Reservierung von Nutzer X und Nutzer Y sich nicht überlagern / überschneiden dürfen, da es dieses Objekt auch nur einmal gibt. So jetzt die Frage die du gefordert hast: Wie stelle ich die Bedingung, dass Nutzer Y eine Fehlermeldung bekommt wenn er das Objekt zu einem Zeitpunkt reservieren will, zudem es schon reserviert wurde.
so, dass Problem bei deinem Lösungsansatz liegt hier, falls ich mich nicht vertuhe:
S2 E2
|-----------|
x-----------x
S1 E1
Ausserdem bin ich mir bei Toms Lösung auch nicht so sicher, dass der folgende Fall funktioniert.
S2 E2
|-------|
x------------x
S1 S2
Gruß
Simfire