Datenbankmanagementsysteme (DBMS)

Albert Weichselbraun


Date: 21. September 2020



Inhalt

1 Informationen zum Modul

1.1 Beurteilungsschema

In der Lehrveranstaltung können durch Hausübungen, Mitarbeit und einen Test maximal 54 Punkte erreicht werden. Für das positive Absolvieren der Lehrveranstaltung sind in Summe mindestens 27 Punkte und ein positiver Test notwendig.

1.2 Anwesenheitspflicht

Bitte beachten Sie, dass es sich um eine prüfungsimmanente Lehrveranstaltung mit Anwesenheitspflicht handelt. Sie dürfen somit maximal in vier Unterrichtsstunden fehlen.

1.3 Tutorium

Die Lehrveranstaltung wird von einem Tutor (Mario Wied) unterstützt, welcher bis zum 13. April Fragen per E-Mail (vorname.nachname@wu.ac.at) entgegennimmt. Diese werden am 15. April im Rahmen einer Fragestunde besprochen.

2 Unterlagen

2.1 Einführung in die Datenbanksysteme

Das erste Kapitel gibt eine Einführung in die Datenbanksysteme und zeigt anhand eines Vergleiches mit dem konventionellen Ansatz die Vorteile von Datenbanken auf.

Folien: Einführung in die Datenbanksysteme

2.2 Das Entity Relationship Modell

Dieses Kapitel stellt das Entity Relationship Modell vor und zeigt wie man mittels dieses Modells Datenbanken modellieren kann.

Folien: Das Entity Relationship Modell

2.2.1 Übungsbeispiele

  1. Zürcher Sportverein
  2. Übungsbeispiele (Prof. Stucky)
  3. Pizzaservice
  4. Krankenhaus (Prof. Studer)
  5. Tierpark (Matthias Prem)
  6. Basketball (Julia Geyer)

2.2.2 Lösungen

  1. Zürcher Sportverein
  2. Übungsbeispiele (Prof. Stucky)
  3. Pizzaservice
  4. Krankenhaus (Prof. Studer)
  5. Tierpark (Matthias Prem) - Lösung V1 | Lösung V2
  6. Basketball (Julia Geyer)

2.3 Das Relationale Modell

Relationale Datenbanken können nur mit Relationen (Tabellen) umgehen. Dieses Kapitel erklärt das Konzept der Relation und zeigt wie man im ER modellierte Sachverhalte ins Relationale Modell übertragen kann. Abschliessend wird die relationale Algebra vorgestellt, welche die Grundlage für die Abfrage von Relationen darstellt.

2.3.1 Übungsbeispiele

  1. Übungsbeispiele (Prof. Stucky)
  2. Transformation: ER ins Relationale Modell
  3. Transformation: ER ins Relationale Modell (Sandro Bischof)
  4. Übungsblatt zur relationalen Algebra
  5. Relationale Algebra mit Lösungen (Matthias Prem)
    Hinweis: bei der verlinkten Projektdatenbank handelt es sich um die Relationen angestellte, angpro, projekt, welche auch im Foliensatz zum relationalen Modell verwendet werden.

2.3.2 Lösungen

  1. Übungsbeispiele Reisebüro und Universität im Foliensatz
  2. Übungsbeispiele (Prof. Stucky)
  3. Transformation: ER ins Relationale Modell
  4. Übungsblatt zur relationalen Algebra

2.4 Optimierung und Evaluierung des Tabellendesigns

Dieses Kapitel beschreibt Datenbankanomalien und stellt Werkzeuge vor, mit denen man Datenbankdesigns auf das Vorhandensein von Anomalien prüfen kann. Dafür wird das Konzept der funktionalen Abhängigkeit, welches Grundlage für die Definition von Normalformen ist, eingeführt. Im Anschluss wird gezeigt, wie man durch Zerlegung Anomalien in Relationenschemata vermeiden kann.

Folien: Optimierung und Evaluierung des Tabellendesigns

2.4.1 Übungsbeispiele

  1. Übungsbeispiele (Prof Stucky)
  2. Übungsbeispiele (Prof. Studer): Beispiel 1 | Beispiel 2 | Beispiel 3
  3. Optimierung des Tabellendesigns einer Bibliothek

2.4.2 Lösungen

  1. Übungsbeispiele (Prof Stucky)
  2. Übungsbeispiele (Prof. Studer)

2.5 Structured Query Language (SQL)

Bei der Structured Query Language (SQL) handelt es sich um eine deskriptive Abfragesprache, welche zur Definition (Erstellung) und Manipulation (Abfragen und Mutationen) von Relationen verwendet wird.

Folien: Structured Query Language (SQL)

2.5.1 Übungsumgebung

Um die SQL Übungen in den Folien durchführen zu können, müssen Sie auf Ihrem Rechner PostgreSQL installieren.

Folgende Möglichkeiten stehen dafür zur Auswahl:

  1. Installation einer vorkonfigurierten virtuellen Maschine (Vorteil: sehr einfach; Nachteil: Platzbedarf ca. 512 MB, erhöhter Ressourcenbedarf)
    • Installieren Sie Virtualbox von https://www.virtualbox.org/wiki/Downloads
    • Download der virtuellen Maschine (dbs.ova) von https://drive.switch.ch/index.php/s/CiG5t0Xo1wFAnMU
    • Importieren sie die virtuelle Maschine durch einen Doppelklick auf dbs.ova
    • Sie können jetzt die virtuelle Maschine in Virtualbox starten.
    • Sobald die Maschine einsatzbereit ist, können Sie über http://localhost:8000/phppgadmin/ auf Ihre PostgresSQL Datenbank zugreifen.
    • Logindaten:
                  Benutzer: student
                  Passwort: 7000normalformen
      
    • Um die virtuelle Maschine zu beenden, schliessen Sie bitte das entsprechende Fenster und wählen im Anschluss die Option "Save the machine state". Dies hat den Vorteil, dass die Maschine in Zukunft deutlich schneller startet.
    • Virtualbox Troubleshooting
      • Wenn Sie die virtuelle Maschine nicht starten können, führen Sie bitte das folgende Manual aus: http://www.fixedbyvonnie.com/2014/11/virtualbox-showing-32-bit-guest-versions-64-bit-host-os/
        (Achtung dafür ist notwendig, dass Sie beim Systemstart ins BIOS/UEFI wechseln).
      • BIOS/UEFI: Die meisten Systeme ermöglichen es beim Systemstart (bevor Windows startet) mittels ESC, F2, oder F10 ins BIOS/UEFI zu wechseln.
      • Windows 8+: Eine Anleitung für Windows 8 und höher finden Sie hier
      • Sollten diese Anleitungen bei Ihnen nicht funktionieren, können Sie PostgreSQL direkt auf ihrem System installieren (siehe unten).
  2. Installation von PostgreSQL auf ihrem System (Vorteil: geringerer Platzbedarf, funktioniert auch mit alten Systemen; Nachteil: Installation und Einrichtung sind etwas komplizierter und bereiten im Speziellen unter Windows öfters Probleme). Folgen Sie dazu der Anleitung im Foliensatz SQL (Seite 16).

2.5.2 Übungsbeispiele

  1. Übungsbeispiel (Prof. Stucky)
  2. Übungsbeispiel Flugreservierung (Prof. Bischof)
  3. Übungsbeispiel Entenhausen (Prof. Studer)
  4. Übungsbeispiel Firma (Prof. Studer)
  5. SQL Übung - Bibliothek (Prof. Bischof): Einfach | 1. Weiterentwicklung | 2. Weiterentwicklung
  6. SQL Übung Verkaufsinformationen (Prof. Bischof)
  7. Übungsbeispiele Projektdatenbank mit Lösung (aus dem Unterricht)

2.5.3 Lösungen

  1. Übungsbeispiel (Prof. Stucky)
  2. Übungsbeispiel Flugreservierung (Prof. Bischof)
  3. Übungsbeispiel Entenhausen (Prof. Studer)
  4. Übungsbeispiel Firma (Prof. Studer)
  5. SQL Übung - Bibliothek (Prof. Bischof): Einfach | Weiterentwicklung
  6. SQL Übung Verkaufsinformationen (Prof. Bischof)
  7. Übungsbeispiele Projektdatenbank mit Lösung (aus dem Unterricht)

3 Übungsbeispiele aus dem Tutorium

4 Hausübungsbeispiele für die Übungsstunde

Die folgenden Beispiele sind bis zur Übungsstunde vorzubereiten:

5 Weiterführende Ressourcen

5.1 SQL

5.2 Literatur

5.3 Übungsdatenbanken