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.
actor
speichert die Daten der Schauspieler, einschließlich Vor- und Nachname.film
speichert Filmdaten wie Titel, Erscheinungsjahr, Länge, Bewertung usw.film_actor
speichert die Beziehungen zwischen Filmen und Schauspielern.category
speichert die Daten der Filmkategorien.film_category
speichert die Beziehungen zwischen Filmen und Kategorien.store
enthält die Geschäftsdaten, einschließlich Filialleiter und Adresse.inventory
speichert Bestandsdaten.rental
speichert Verleihdaten.payment
speichert Kundenzahlungen.staff
speichert Personaldaten.customer
speichert Kundendaten.address
speichert Adressdaten für Mitarbeiter und Kunden sowie der Filialen.city
speichert Städtenamen.country
speichert Ländernamen.most_popular_film
ist eine Liste der 10 populärsten Filme.top_rated_film
ist 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.sql
aus 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.