Datumsabfrage, ob Buch entliehen werden kann

Ich habe folgendes Problem und finde schon seit einger Zeit keine richtige Lösung.
Datenbank: psql Version 7.4

Meine Tabelle sieht wie folgt aus.
Buchnr
Buchttitel
Buchautor
entliehenVon
entliehenBis

Nun möchte ich Bücher für einen bestimmten Zeitraum vorbestellen. Nun muss ich prüfen ob das Buch zu dieser Zeit verfügbar ist oder nicht. Leider habe ich dies noch nicht hinbekommen.

1. Ich muss also prüfen, ob das Buch überhaupt entliehen ist.
2. Wenn es ausgeliehen ist, muss ich prüfen ob es für diesen Zeitraum entliehen
werden kann.
3. Alle verfügbaren Bücher sollen mit der Buchnr aufgelistet werden.

Vielleicht kann ja einer helfen.
 
Ein schneller erster Hinweis: überleg dir zuerst dein Datenbankschema. Die von dir verwendete Tabelle ist nicht wirklich brauchbar. Typischerweise liegen die Stammdaten eines Buches (Titel, Autor, ISBN, etc.) in einer Tabelle, die Verleihdaten (Start, Ende, Kunde, etc.) in einer anderen.

1. Ich muss also prüfen, ob das Buch überhaupt entliehen ist.
Warum? Du willst doch vorbestellen?

2. Wenn es ausgeliehen ist, muss ich prüfen ob es für diesen Zeitraum entliehen
werden kann.
3. Alle verfügbaren Bücher sollen mit der Buchnr aufgelistet werden.
Der Kunde wird wohl einen Zeitbereich wählen und du wirst überprüfen müssen, obs für dieses Buch eine Überschneidung mit einem Intervall in den Verleihdaten gibt. Wenn nein, kannst du reservieren. Nimm dir ein Blatt Papier hier und zeichne eine Zeitlinie auf, dann überleg dir, was 'Überschneidung' bedeutet: z.B. wenn erster vom Kunden gewünschter Tag zwischen Start und Ende einer Reservierung liegt etc.
 
Zuletzt bearbeitet:
Zurück