Institute for Informatics
Georg-August-Universität Göttingen

Databases and Information Systems

dbis
Uni Göttingen

Einführung in Datenbanken
WS2017/18

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

Organisatorisches:

  • 3 SWS, d.h. insgesamt 21 Doppelstunden (entsprechend 14 (Wochen) a 3 Stunden).
    Es findet nicht jede Doppelstunde der oben angegebenen Termine statt, sondern insgesamt 21 Doppelstunden. Vorläufiger Terminplan:
    18.10., 19.10., 25.10., 26.10., [NICHT 1.11.], 2.11., 8.11., 9.11., [NICHT 15.11.], 16.11., 22.11., 23.11., 29.11., [NICHT 30.11. (MN30)], 6.12., 7.12., 13.12., 14.12., 20.12., 21.12. [17 Termine in 2017],
    10.1., 11.1., 17.1., 18.1. + Fragestunde vor der Klausur.
  • 5 ECTS
  • Termin+Ort: Mi 14-16, Do 14-16, MN 09; ab 26.10. im MN 30 (siehe unten).
  • Ü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) am Ende des Semesters.

Info zur Veranstaltung

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

Inhalt: konzeptuelle Modellierung (ER-Modell), relationales Modell, 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 Postgres mit Mondial auf dem eigenen Rechner unter Unix installiert finden Sie hier.

Terminplan

  • Mittwoch 18.10.: Erste Veranstaltung. 14:15-15:45 Uhr
    Organisatorisches, Einführung, Überblick , ...
    Folien "ER-Modell"
  • Do 19.10. Vorlesung
    Einführung: Intro, Grundbegriffe, 3-Ebenen-Architektur
  • Mi 25.10. Vorlesung: ER-Modell
  • Ab 26.10. findet die Vorlesung im MN 30 (Chemie) statt.
    • MN 30: Das schwarze renovierte/neue Chemie-Hörsaalgebäude sieht so aus:
      Bild (Blick von Westen d.h. zwischen Chemie und Physik)
      Links (d.h.) im Norden des Gebäudes die Metalltreppe hoch, reingehen, dann rechts. Der MN30 befindet sich in der dem Betrachter zugewandten (Nordost-)Ecke des Gebäudes.
    • von der Mensa: Chemie-Haupteingang rein, innen Treppe runter ins Untergeschoss, nach Westen, Kellertüre raus, steht man hinter auf der Ostseite des Hörsaalgebäudes in der Baustelle. Rechts rum zur Treppe.
  • Do 26.10. Vorlesung: ER-Modell
    1. Übungsblatt (ER-Modell und Umsetzung ER nach relational), Besprechung am 2./8.11.
  • Mi 1.11.: keine Veranstaltung
  • Do 2.11. Besprechung Blatt 1, Aufgabe 1+2; Vorlesung: Relationales Modell.
    Musterlösung Blatt 1 ,
    Folien "Relationales Modell"
  • Mi 8.11. Besprechung Blatt 1, Aufgabe 3; Vorlesung: Relationales Modell
  • Do 9.11. Vorlesung: Relationales Modell, Abbildung vom ER-Modell auf das relationale Modell
  • Mi 15.11.: keine Veranstaltung
  • Do 16.11. Übung - Besprechung von Aufgabe 4 des ersten Übungsblattes, weiter in der Vorlesung: Formalisierung des relationalen Modells
  • Klausurterminplanung: Ich werde in den Vorlesungen der nächsten Woche die folgenden Terminbereiche zur Diskussion stellen (nach momentanem Stand sind die Räume verfügbar, Reservierung ist beantragt):
    MN 08, Fr. 23.2.2018, 11:00-13:30
    MN 27, Mo. 26.2.2018, 11-13:30 (danach ist jemand anders drin) #### der wirds, wenn ich den Raum bekomme.
    MN 27, Do. 1.3.2018, 13:00-17:00
    Vorher ist praktisch nichts ohne Kollision in Inf/WiInf moeglich.
    Liste potentieller Kollisionen (anhand Anzahl Schnittmenge in 2017)
  • Mi 22.11. Übung - Besprechung von Aufgabe 5+6 des ersten Übungsblattes, weiter in der Vorlesung.
  • Do 23.11. Vorlesung: Formalisierung des relationalen Modells; Relationale Algebra.
    Folien "Relationale Algebra"
    2. Übungsblatt (Rel. Algebra); Besprechung am 6.12./13.12.2017
  • Mi 29.11. Vorlesung: ...
  • Do 30.11. Keine Veranstaltung
  • Mi 6.12. Besprechung der Aufgaben 1 und 2 von Blatt 2,
    Vorlesung: Algebra - abgeleitete Operatoren.
    Musterlösung Blatt 2
  • Do 7.12. Vorlesung: Algebra: Semijoin, Outer Join
  • Mi 13.12. Besprechung von Exercise 3.1 von den Folien (Assoziativität des Joins - mal ein formaler Beweis) und der Aufgaben 8a-d von Blatt 2 (alle anderen brauchen die relationale Division), Vorlesung: Algebra: relationale Division
  • Do 14.12. Vorlesung: Relationale Algebra (Cont'd)
  • Mi 20.12. Besprechung von Aufgabe 3 von Blatt 2, Vorlesung: SQL
    Folien "SQL"
    3. Übungsblatt (SQL).
    Die Klausur findet definitiv am 26.2., 11:00 im MN27 statt (Raumreservierung endlich erfolgreich)
  • Do 21.12. Besprechung der Aufgaben 4-7 von Blatt 2 Vorlesung: SQL
  • Vorlesungsfreie Zeit: 23. Dezember 2017 bis 07. Januar 2018
  • Mi 10.1.2018 Besprechung der Aufgaben 2-5 von Blatt 3
    Musterlösung Blatt 3
  • Vorankündigung Datenbankpraktikum SQL SS2018
  • Vorankündigung Deductive Databases SS2018 (Advanced BSc/MSc) - Teilnehmer sollten neben "Datenbanken" vor allem auch "Formale Systeme" absolviert haben, und Interesse an logikbasierten Ansätzen haben
  • zu dem SQL-Problem mit der "Andorra"-Anfrage von heute: ist wohl ein Bug in Oracle 12 - mit postgres und Oracle 11 kommt das richtige raus.
  • Do 11.1.2018 Übung. Aufgabe 1 von Blatt 3; Vorlesung: Rest von Kap.3, Aufgabe 9 von Blatt 2 kommt nach Folie 142.
    Vorlesung: Weiter in Kapitel 3.
  • Mi 17.1.: Rest von Kapitel3; dann Kapitel 5 (SQL Syntax für Tabellenerzeugung und Updates)
    Folien "SQL - Diverses"
  • Do 18.1.: Zum Ende noch ein kurzer berblick über die praxisrelevanten Aspekte der folgenden Kapitel:
    Kapitel 4: Interne Speicherungsaspekte Folien "Speicherung, Anfrageauswertung, Optimierung" im Überblick (Wiedersehen mit Algorithmen und Datenstrukturen aus Info I/III)
    Kapitel 6: 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"
    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.
  • Ergebnisse der Vorlesungsevaluierung
  • Mi 31.1. Fragestunde (wie üblich 14-16 im MN30): (solange/falls jemand da ist ...)
    Fragestunde - schicken Sie mir (möglichst konkrete) Fragen, was nochmal besprochen werden soll bitte per Mail.
    Bisher eingegangene Fragen: keine - ad-hoc-Beispiel zu Modellierung gemacht.
  • Vorlesungsende 3.2.2017
  • Das SQL-Web-Interface ist voraussichtlich am Dienstag, 6.2. zeitweise ausser Betrieb. Der semwebtech-Server wird geupdated.
  • Funktioniert wieder (Java 8, neuer tomcat 9.0). Falls es nicht funktioniert -> Mail an mich. Irgendwie verhalten sich tomcat 9.0 und 8.5 seltsam mit dem SQL-Servlet.
  • Do, 22.2. 14-16h MN15: Last-Minute-Fragestunde (solange/falls jemand da ist ...) - schicken Sie mir (möglichst konkrete) Fragen, was nochmal besprochen werden soll bitte per Mail.
    Bisher eingegangene Fragen: - Grundlagen der Relationalen Algebra, Zusammensetzen zu Baeumen.
  • Klausur: 26.2.2018, 11:00 Uhr, MN 27 (Chemie, im Nebengebäude zur Mensa hin, wo auch das Chemie-Dekanat ist).

Aufzeichnungen der Vorlesungen

  • Die Vorlesung wurde in früheren Semestern teilweise aufgezeichnet. Die Aufzeichnungen sind hier zu finden. Falls nicht, mal hier versuchen (scheint an einer Fehlkonfiguration des Webservers zu liegen, der nicht mehr mappt, oder die Directory nicht mehr liefert).
  • Falls beim Anschauen folgendes auftritt: "Exception in thread "main" java.lang.OutOfMemoryError: Java heap space".
    Siehe hier:
    Das Problem kann man folgendermassen beheben:
    - Im Installationsverzeichnis des TeleTeachingTools:
    - ttt.bat und assoc_start.bat: Ändern des Eintrages von 128 auf einen groesseren Wert (200).
  • Fragen Sie uns (DBIS) nicht bei irgendwelchen technischen Problemen mit den Aufzeichnungen - wir haben keine Ahnung davon. Die Aufzeichnungen wurden im Rahmen des ELAN-Projektes am Math.Inst. durchgeführt.

Klausur

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.