Beispieldatenbank: DVD-Verleih

  • Beitrags-Autor:
  • Beitrags-Kategorie:Abfragen

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.
ER-Diagram der DVD-Verleih-Beispieldatenbank
ER-Diagram der DVD-Verleih-Beispieldatenbank

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.

DVD-Verleih-Datenbank in pgAdmin 4 erstellen (Schritt 1)
DVD-Verleih-Datenbank in pgAdmin 4 erstellen (Schritt 1)

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

DVD-Verleih-Datenbank in pgAdmin 4 erstellen (Schritt 2)
DVD-Verleih-Datenbank in pgAdmin 4 erstellen (Schritt 2)

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.