Wir werden die DVD-Verleih-Datenbank namens dvdrental verwenden, um die Funktionen von SQL im Allgemeinen und PostgreSQL im Speziellen kennenzulernen.
Die DVD-Verleih-Datenbank stellt die Geschäftsprozesse eines DVD-Verleihgeschäfts dar. Die DVD-Verleih-Datenbank enthält viele Objekte, darunter:
- 17 Tabellen
- 1 Trigger
- 7 Sichten
- 9 Funktionen
- 1 Domäne
- 13 Sequenzen
Anmerkung: Die Beispieldatenbank wurde, soweit mir bekannt ist, ursprünglich für MySQL implementiert. Im Internet kursieren etliche Portierungen dieser Datenbank für unterschiedliche Datenbankmanagementsysteme. Auch für PostgreSQL gibt es verschiedene Versionen. Ich empfehle Ihnen, um die hier vorgestellten Beispiele exakt nachvollziehen zu können, die Datenbank aus dem Begleitmaterial zu diesem Seminar zu verwenden. Nur so ist gewährleistet, dass sie die exakt gleichen Ergebnisse auf Ihre Abfragen erhalten. Sie finden das Begleitmaterial auf GitHub.
DVD-Verleih-ER-Modell
Im Diagram sind die 17 Tabellen des Datenbankmodells durch Rechtecke dargestellt. In der jeweiligen Kopfzeile ist der Tabellenname angegeben. Darunter stehen die Attribute (Spaltenbezeichner) inklusive der Angabe der jeweiligen Datentypen.
actorspeichert die Daten der Schauspieler, einschließlich Vor- und Nachname.filmspeichert Filmdaten wie Titel, Erscheinungsjahr, Länge, Bewertung usw.film_actorspeichert die Beziehungen zwischen Filmen und Schauspielern.categoryspeichert die Daten der Filmkategorien.film_categoryspeichert die Beziehungen zwischen Filmen und Kategorien.storeenthält die Geschäftsdaten, einschließlich Filialleiter und Adresse.inventoryspeichert Bestandsdaten.rentalspeichert Verleihdaten.paymentspeichert Kundenzahlungen.staffspeichert Personaldaten.customerspeichert Kundendaten.addressspeichert Adressdaten für Mitarbeiter und Kunden sowie der Filialen.cityspeichert Städtenamen.countryspeichert Ländernamen.most_popular_filmist eine Liste der 10 populärsten Filme.top_rated_filmist eine Liste der am besten bewerteten Filme.

Das Diagramm wurde mit der Software DataGrip erstellt. Die Verbindungspfeile sind mit den Attributnamen beschriftet, welche für die Tabellenverknüpfungen verantwortlich sind.
DVD-Verleih-Datenbank installieren
Erstellen einer Datenbankinstanz
Öffnen Sie pgAdmin 4, wählen den Dankbankserver aus und markieren „Databases“. Mit der rechten Maustaste öffnen Sie das Kontextmenü und wählen „Create/Database …“ aus. Übernehmen Sie die hier gezeigten Einstellungen, die ich rot markiert habe.

Wechseln Sie dann auf die zweite Registerkarte und legen die Parameter für Zeichensatzcodierung und Sortierung fest.

Die Datenbank ist jetzt so eingerichtet, auch internationale Zeichen zu unterstützen. Groß- und Kleinschreibung wird bei Zeichenkettenvergleichen berücksichtigt.
Datenbankobjekte und Daten
Ich stelle ihnen die Beispieldatenbank als ein sogenanntes Quellcode-Archiv zur Verfügung. Das ist zwar nicht die eleganteste Art und Weise dies zu tun, sie ist jedoch weitestgehend unabhängig von der PostgreSQL-Version, die Sie verwenden.
Ich habe das Skript für die Versionen 16 und 17 von PostgreSQL getestet.
Um die Datenbankinhalte wiederherzustellen, brauchen Sie die Datenbank dvdrental, die Sie im vorigen Abschnitt erstellt haben.
-
- Öffnen Sie nun ein Terminalfenster. Unter Microsoft Windows nutzen Sie die Eingabeaufforderung. Verwenden Sie nicht die PowerShell. Ihr fehlt der notwendige Operator zur Eingabeumlenkung.
- Wechseln Sie in das Verzeichnis in welches Sie sich die Datei
dvdrental.sqlaus dem Begleitmaterial gespeichert haben. - Führen Sie das folgende Kommando aus:
[code lang="bash" language="light"]psql -U postgres -h localhost -d dvdrental <dvdrental.sql
- Damit Sie damit Sie das Kommando so ausführen können, muss es im Pfad der ausführbaren Dateien gefunden werden können. Gegebenenfalls prüfen Sie das nochmals anhand der Installationsanleitung für Ihr Betriebssystem. Zudem geht das gezeigte Kommando davon aus, dass es auf der Maschine, auf welcher der PostgreSQL-Server installiert ist ausgeführt wird.
