Uni Göttingen
Institute for Informatics
Databases and Information Systems

dbis

Einführung in Datenbanken
WS 2022/23

Wenn Ihr Browser diese Webseite seltsam darstellt (d.h. anders als in den Vorlesungsvideos), verwenden Sie bitte einen geeigneten Browser (Firefox, Chrome, Internet Explorer, ...)

Die Anmeldung im StudIP zur Vorlesung des WS20/21 ist weiterhin möglich. Dort finden Sie die Videos vom WS 2020/21 weiterhin unter "Meetings". Aus technischen Gründen (wir müssen das Programm zum Editieren von BBB-Sourcen erst selber programmieren) konnten wir die Videos bisher nicht nachhaltig überarbeiten.

Prof. Dr. Wolfgang May,
Lars Runge, M.Sc..

Organisatorisches:

  • Modul CS.B.Inf.1206
  • 4 SWS (seit WS2021/22)
  • 5 ECTS
  • Nach Modulkatalog vom 29.8.2022 ist "Datenbanken" nicht mehr Pflichtfach im BSc Angewandte Informatik, sondern Teil des 4-aus-8-Wahlpflichtbereiches. Laut Auskunft des Studiendekans vom 22.9.2022 gilt dies entsprechend Par. 15 der Prüfungs- und Studienordnung (BSc AngInf, 12.4.2022) automatisch auch für alle Studierenden der früheren Jahrgänge. 😄 (es ist keine Änderung der PO; sondern nur des Modulkatalogs, und da gilt der aktuelle für alle.)
  • Termin+Ort: Mi 14-16, Do 14-16, MN 30 (Chemie, Westseite) Hybrid (online live bzw. Videoaufzeichnungen, evtl. optional auch mal etwas in Präsenz; konkrete Termine siehe unten - prinzipiell wird alles als Videoaufzeichnung verfügbar sein (wenn wir es nicht mal vergessen, oder die Technik streikt)).
  • In diesem Jahr verwenden (und überarbeiten) wir im wesentlichen die Recordings vom WS 2020/21. Es werden einige live Online-Meetings mit BigBlueButton von der GWDG stattfinden, die virtuellen BBB-Räume/Meetings für die Vorlesungen werden via StudIP betreten. In StudIP werden auch die neuen live-Recordings verfügbar sein (wenn es welche gibt; diese Recordings sind in der Regel erst ab spät abends oder am nächsten Tag verfügbar; sie werden automatisch erstellt).
  • Materialien zum Selbststudium (recordings auf Deutsch, Foliensatz auf Englisch) werden passend zu den Einzelterminen bereitgestellt:
    • überarbeitete Videos vom WS 2020/21 (sie werden in der Filebezeichnung das Datum des ursprünglichen Vorlesungstermins enthalten).
    • PDF-Folien. Der gesamte Foliensatz (und noch viel mehr) ist auch hier zu finden.
  • Weitere allgemeine und technische Informationen zur DBIS-Online-Lehre (auf Englisch).
  • Alle Materialien und Ankündigungen findet man HIER auf den "blauen DBIS-Seiten".
  • Hinweis: aufgrund der hohen (Klausur)teilnehmerzahl kann die Bewertung der Klausur lange dauern (Ilias ist sehr umständlich, und man kann nicht brauchbar mit mehrere Personen gleichzeitig bewerten, ohne dass man Datenverluste riskiert). Die Klausurkorrektur vom WS20/21 war aufgrund der hohen Teilnehmerzahl erst Anfang Juni beendet. Falls die Veranstaltung für Sie nicht Pflicht ist bitten wir Sie, zu überlegen, ob Sie nicht lieber eine andere Veranstaltung besuchen.
  • Anmeldung: in StudIP, um von dort aus die BBB-Meetings zu betreten. Es gibt keine Anwesenheitspflicht. Ansonsten werden wir StudIP zur Kommunikation eher wenig benutzen.
  • Übungen: es werden einige Übungsblätter zur Bearbeitung ausgegeben. Die Lösungen werden nicht eingesammelt/bewertet. Jeder soll selbstverantwortlich anhand der Aufgaben (ggf. auch gemeinsam) mit den Konzepten umgehen lernen. Die Musterlösungen werden regelmäßig im Kurs vorgestellt.
  • Prüfung (Klausur): Online-Klausur mit Ilias und IDENT voraussichtlich am Mittwoch 1. März 2023, 10-13 Uhr.

Info zur Veranstaltung

In dem Kurs wird eine Einführung in relationale Datenbanken gegeben.

Inhalt: konzeptuelle Modellierung (ER-Modell), relationales Datenmodell, relationale Algebra (theoretische Grundlagen für Anfragekonzepte), SQL-Anfragen, -Updates und Schemaerzeugung.

In dem Kurs wird die Geographie-Datenbank "Mondial" eingesetzt.

  • SQL-Anfragen an Mondial können Sie über ein Web-Formular stellen.
  • Eine einfache Beschreibung, wie man eine Postgres-Datenbank (Postgres ist ein relationales Datenbanksystem) mit Mondial auf dem eigenen Rechner unter Unix installiert finden Sie hier (ist für diese Veranstaltung aber nicht notwendig).

Terminplan

  • Mittwoch 26.10.: Erste Veranstaltung. 14:15-15:45 Uhr, BBB-Meeting via StudIP
    • Bitte nebenher den GWDG-RocketChat-Channel https://chat.gwdg.de/channel/dbis offen haben. Dort gibts ggf. Informationen, falls es technische Probleme/Überlastung bei BBB gibt. Er dient auch in den weiteren Sessions z.B. für Zwischenfragen während der Vorlesung (wird im Gegensatz zum BBB-Chat nicht mit recorded).
    Organisatorisches, Einführung, Überblick , ...
  • Optional: Überblick über die weiterführenden DBIS-Vorlesungen und die ihnen zugrundeliegenden Datenmodelle (XML, RDF) und Mechanismen für "intelligente" Datenbanken (auf Englisch):
    Database concepts and buzzwords recording
    Database concepts and buzzwords graphics

Intro und Konzeptuelle Modellierung (ER-Modell)

Die folgenden Termine sind "virtuelle" Termine zur Strukturierung des Selbststudiums:

  • Do 27.10. (Recording von Do 5.11.2020)
    Einführung: Intro, Grundbegriffe, 3-Ebenen-Architektur
    Folien: Folien "ER-Modell"
  • Mi 2.11. (Recording von Mi 11.11.2020)
    Vorlesung: ER-Modell
  • Do 3.11. (Recording von Do 12.11.2020)
    Vorlesung: ER-Modell.
    1. Übungsblatt (ER-Modell und Umsetzung ER nach relational)
    Aufgabe 1: ER-Modell. Aufgabe 2: einfach schon mal machen: Wie würden Sie das mit den "nicht-formalen" Kenntnissen aus dem bisherigen Folien/Beispielen machen? Look &Feel, und ein bisschen darüber nachdenken. Die Formalisierung des "gesunden Menschenverstandes" kommt dann später.
    Besprechung virtuell am 10./11./27.11.
  • Mi 9.11. (Recording von Mi 18.11.2020)
    Besprechung von Aufgabe 1+2 des ersten Übungsblattes.
    Musterlösung Aufgaben 1+2
    Folien "Relationales Modell"
    Weiter in der Vorlesung: das relationale Modell.
    Notizen dazu (die Notizen werden ein inkrementelles File, an das die neuen immer angehängt werden)
  • Do 10.11. (Recording vom Do 19.11.2020)
    Vorlesung: Relationales Modell, Umsetzung vom ER-Modell in das relationale Modell.
    Danach (ab 1:19) noch etwas anhand der Frage zum ER-Modell "Wenn es in einem Land keine Städte gibt, muss die Hauptstadt in einem anderen Land liegen" zu Ontology Design/Validation, die zum Inhalt der Semantic Web-Vorlesung überleitet.

Formalismen des relationalen Modells: Das RM an sich und die Überleitung zur relationalen Algebra

  • Mi 16.11.2021 (Optionales) Online-Live-Meeting.
    Stand: Sie kennen das ER-Modell, haben erste praktische Erfahrungen mit Modellierung, wissen, wie man ein ER-Modell nach Kochrezept in das relationale Modell umsetzt, und warum das Kochrezept "vernünftig" (=richtig) ist.
    Inhalt des Meetings: Vorschau auf das nächste Kapitel und Beantwortung von Fragen.
  • ... und damit also die Grundlagen für die restlichen Aufgaben des ersten Übungsblattes. Parallel die tiefergehenden Aufgaben des ersten Übungsblattes bearbeiten (=Wissen vertiefen und Erfahrungen sammeln) und die nächsten Schritte in der Vorlesung. Diese sind damit nicht nur "Formalkram", sondern zeigen auch, wie man mit dem bisher Gelernten umgeht.
    Vorteil: Sie können es sich so aufteilen, wie es am besten zu Ihrem Lernstil passt.
  • 3 Sessions Material für den 17.11./23.11./24.11.:
  • (Recording vom Mi 25.11.2020)
    Besprechung von Aufgabe des 3 ersten Übungsblattes.
    Musterlösung Aufgabe 3
    Musterlösung Aufgabe 3 mit den Notizen aus der Vorlesung
    ... dann weiter in der Vorlesung: Formalisierung des relationalen Modells
  • (Recording vom Do 26.11.2020)
    Vorlesung: Formalisierung des relationalen Modells, Relationale Algebra, bzw allgemeiner: Struktur und Vorteile algebraischer (Anfrage)sprachen.
    Folien "Relationale Algebra"
  • (Recording vom Mi 2.12.2020)
    Besprechung der restlichen Aufgaben des ersten Übungsblattes (Hinweis: bei Aufgabe 4 ist es nicht nochmal dasselbe wie bei den Aufgaben 1 und 3).
    Musterlösung Blatt 1

Die relationale Algebra

  • Mi 30.11. (Optionales) Online-Live-Meeting.
  • 4 Sessions Material:
  • (Recording vom 3.12.2020) Vorlesung: Relationale Algebra (mit Kommentaren zum 2. Übungsblatt)
    2. Übungsblatt
  • (Recording vom 9.12.2020) Besprechung von Aufgabe 1+2 des zweiten Übungsblattes. [ Musterlösung ]
  • (Recording vom 10.12.2020) Vorlesung: Relationale Algebra (Cont'd)
  • (Recording vom 16.12.2020) Besprechung von Aufgaben 3, 8 und 9 des zweiten Übungsblattes, Musterlösung
    Weiter in der Vorlesung (ab Relationale Divison).

SQL

  • Mi 14.12.2022 (Optionales) Online-Live-Meeting.
    Fragen, Ausblick, ...
  • (Recording vom 17.12.2020) Vorlesung: Relationale Algebra, SQL
    Folien "SQL"
  • (Recording vom 13.1.2021) zum (damals) "wieder reinkommen" erstmal weiter in SQL.
  • (Recording vom 14.1.2021) Vorlesung: SQL
    3. Übungsblatt (SQL).
  • (Recording vom 20.1.2021) Besprechung der restlichen Aufgaben von Blatt 2; Vorlesung: SQL
    Musterlösung Blatt 2
  • (Recording vom 21.1.2021) Rest von Kap.3 (SQL); Kapitel 5 (SQL Syntax für Tabellenerzeugung und Updates)
    Folien "SQL - Diverses".
  • (Recording vom 27.1.2021) Besprechung von Blatt 3 [Musterlösung Blatt 3]
  • (Recording vom 28.1.2021) Rest von Blatt 3, dann weiter in Kapitel 5 (SQL-Diverses)
  • Mi 11.1.2023 (Optionales) Online-Live-Meeting
    Inhalt: Fragen?
    • Zum Überblick über die Folien zu Kap. 7, 4 und 6 wurde im Video vom 15.12.2021 von 00:03:45 bis 00:12:25 schon alles gesagt.
  • (Recording vom 3.2.2021) Rest von Kapitel 5 (Diverses zu SQL), dann noch ein kurzer Überblick über die praxisrelevanten Aspekte der Kapitel 7 und 4:
    Kapitel 4: Interne Speicherungsaspekte: Folien "Speicherung, Anfrageauswertung, Optimierung" im Überblick (Wiedersehen mit Algorithmen und Datenstrukturen aus Info I/III und mit Betriebssystem-Aspekten (Caching))
    Kapitel 7, Designtheorie: Normalisierung
    wird nur kurz überflogen und kommentiert.
    Folien "Normalisierung"
    Wenn man ein gutes ER-Modell entworfen hat, braucht man sich mit diesem Problem (fast) nicht herumzuschlagen. Man sollte aber wissen, dass es so etwas gibt, falls man es mal braucht.
    Am Schluss noch Ankündigung des noch folgenden Recordings zu Kap. 6: Transaktionen.
  • (Recording vom 11.2.2021)
    Grundlagen des Mehrbenutzerbetriebs und Sicherheit: Transaktionen im Überblick:
    • Praktische Aspekte: (1) Warum man sich auf Korrektheit von Onlinebanking verlassen kann, und welche Probleme auftreten würden, wenn es keine Transaktionsverwaltung gäbe, (2) wie Transaktionen auch gegen die Folgen physikalischer Abstürze schützen.
    • Wenn Sie eine DB-Anwendung entwerfen: die eingebaute Transaktionsverwaltung macht das alles automatisch.
    • Algorithmik und Analyse: wie man einen exponentiellen Graphenalgorithmus durch einen einfachen linearen Algorithmus ersetzt - wenn man den Kern des Problems gefunden und verstanden hat.
    Folien "Transaktionen"
  • 1.2.2023 (Optionales) Online-Live-Meeting
    Fragen/Antworten; können auch vorher per Mail oder RocketChat gestellt werden.
  • 2.2.2022 (Optionales) Online-Live-Meeting
  • Hier sind die gesammelten draw.io-Notizen der Vorlesung zugreifbar.
  • Es wird Ende Februar eine "Klausur-Fragestunde" geben. Der genaue Termin wird noch bekanntgegeben. Schicken Sie uns Fragen dazu am besten vorher per Mail. Ausserdem können Fragen im "DBIS" RocketChat Channel gestellt werden.
  • Vorlesungsende 10.2.2023
  • to be extended: (Optionale) Online-Live-Meetings/Fragestunden

Draw.io als Tool für Diagramme ... nicht nur zum Online-Teaching

  • draw.io: ein Tool, mit dem man ER-Diagramme (und später auch Algebra-Bäume und allgemein noch viele andere Diagramme entwerfen (mehr konstruieren als malen) kann.
    Einfach in der Adresszeile des Browsers draw.io eingeben, und es ist da.
    Learning by doing, etwas Doku findet man auch in unserem Notizen (runterscrollen, irgendwann bereiten wir das auch mal auf ...).
  • Unser Scratchpad.xml mit dem Makros für draw.io (ER-Grafikknoten, Relationale-Algebra-Baumknoten, einige Textknoten mit PK/FK LaTeX-Tricks [diese Textknoten nicht als Textinhalt in die Tabelle einfügen, sondern separat über die Tabellenzelle ziehen, und mit group-by dort "festtackern"]). FK-PK-Referenzen kann man dann als "normale" curved-Verbindungen anlegen.
    (File runterladen, speichern, dann im draw.io->Scratchpad auf den Bleistift klicken, und dann import)
  • Mathematische Unicode-Zeichen zum rausmausen in Textknoten. Dann braucht man nicht immer embedded LaTeX.
  • Kurzes Video mit allen wesentlichen Befehlen hier

Dokumentation

Literatur (optional)

  • A. Kemper, A. Eickler: Datenbanksysteme - Eine Einführung (In Deutsch), Oldenbourg.
  • R. Elmasri, S.B. Navathe: Grundlagen von Datenbanksystemen (dt. Übers.), Pearson Studium (1100 S., sehr ausführlich).
  • R. Elmasri, S.B. Navathe: Grundlagen von Datenbanksystemen - Ausgabe Grundstudium (dt. Übers.), Pearson Studium (550 S., nach Praxisrelevanz ausgewählte Themen).
  • G. Vossen: Datenmodelle, Datenbanksprachen und Datenbankmanagement-Systeme (In Deutsch). Addison-Wesley.
  • J. Ullman and J. Widom: A First Course in Database Systems. Prentice Hall.
  • ... oder andere DB-Lehrbücher.