Neue Übungsdatenbank für das Experimentieren mit eigenen Tabellen
Bevor wir loslegen, erstellen Sie am besten eine eigene Übungsdatenbank, in welcher Sie die Tabellen des jetzt folgenden Seminarabschnitts anlegen können, ohne dabei mit eventuell bereits vorhandenen Tabellen des DVD-Verleihs zu kollidieren.>
Wenn Sie sich nicht mehr erinnern: Das Anlegen einer Datenbank ist in „Beispieldatenbank: DVD-Verleih“ beschrieben. Geben Sie der neu zu erstellenden Datenbank aber unbedingt einen anderen Namen. Ich habe meine Datenbank tutorial
genannt. Sie können Ihre Datenbank natürlich anders benennen. Sollten Sie jedoch über den Datenbanknamen tutorial
stolpern, dann wissen Sie, welche Datenbank ich damit meine.
Projektvorstellung
Da Sie sich bereits in die Thematik des Verleihens von Gegenständen eingearbeitet haben, wollen wir eine Leihbücherei modellieren und implementieren. Dabei werden Sie viele neue SQL-Vokabeln lernen. Um Ihnen das Erlernen dieser Vokabeln zu erleichtern, selbstgewählte Bezeichner leichter von den PostgreSQL-Bezeichnern differenzieren zu können, habe ich mich entschieden, für selbstdefinierte Objekte deutsche Bezeichner zu verwenden. In der Programmierpraxis, insbesondere dann, wenn Sie beispielsweise an englisch-sprachigen Open-Source-Projekten teilnehmen, ist Englisch die bevorzugte Sprache. Um Ihnen das Leben ein wenig zu erleichtern, mache ich hier aber eine Ausnahme.

In einer Bibliothek gibt es Bücher, die von Lesern ausgeliehen werden können. – Klar. Die Leser, die in verschiedenen Regionen, rund um unsere Bibliothek wohnhaft sind, können aber nicht nur Bücher ausleihen, sie können sich auch Buchtitel vormerken. Und hier haben wir zwei Begriffe, die wir im Weiteren wohl unterscheiden müssen, Bücher und Buchtitel. Bücher sind die realen Buchexemplare, die in der Bibliothek ausleihbar sein oder, wenn es sich um Präsenzexemplare handelt (leihdauer
gleich 0), zumindest eingesehen und vor Ort gelesen werden können.
Bücher sind Instanzen von Ausgaben, die einen Verlag haben und jeweils einen Buchtitel repräsentieren. Dabei kann ein Titel von mehreren Verlagen und/oder mehreren Editionen (Auflagen) realisiert werden. Ein Buchtitel kann keinen, einen oder auch mehrere Autoren haben. Ein Buchtitel hat keinen Autor, wenn ein solcher nicht bekannt ist.
Die Haupt-Geschäftsvorgänge sind sehr einfach gestaltet. Zwecks Ausleihe wird ein Buch in der Tabelleausleihungen
eingetragen, zusammen mit der Nummer des Lesers und dem Ausleihdatum. Ein Leser kann zwar mehrere Bücher ausleihen bzw. ausgeliehen haben, ein Buch kann zu einer Zeit aber nur einfach ausgeliehen sein. Bei einem Ausleihvorgang sollen die Ausleihstatistiken von Lesern und Buchexemplaren jeweils um ein erhöht werden. Hier und im Kapitel „Daten“ werden wir das manuell machen. Später lernen Sie, wenn wir gespeicherte Funktionen und Trigger behandeln, wie Sie das automatisiert leisten können.
Die Rückgabe eines Buches erfolgt einfach dadurch, den Datensatz des betreffenden Buches in der Ausleihtabelle zu löschen.