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

Databases and Information Systems

dbis
Uni Göttingen

Einführung in Datenbanken
WS2013/14

Prof. Dr. Wolfgang May may@informatik.uni-goettingen.de
Daniel Schubert schubert@informatik.uni-goettingen.de

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.
  • Studierende nach PO 2006: 4 ECTS,
    Studierende nach PO 2011: 5 ECTS
  • Termin+Ort: Di 14-16, Mi 14-16: MN 028 (in der anorganischen Chemie)

    Frequently Asked Question: "Der Termin kollidiert mit $XY. Kann man die Vorlesung verlegen?". Nein. An "Datenbanken" nehmen Studierende aus Informatik, Wirtschaftsinformatik, Mathematik, sowie einigen weiteren Studiengängen teil, so dass es immer irgendwo zu Kollisionen kommt. Die Informatik verfügt seit dem Umzug in den Neubau nicht mehr über eigene Hörsäle, so dass wir bei der Raumvergabe als "Gäste" bei Geographie und Chemie nehmen müssen was übrig bleibt.

  • Ü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. Mittwoch, 29.1.2014, 14-16 Uhr; Hoersaal MN 08 (Geo).

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" unter Oracle eingesetzt. SQL-Anfragen an Mondial können Sie über ein Web-Formular stellen.

Terminplan

  • Dienstag 22.10.: keine Vorlesung, da der Hörsaal nicht verfügbar ist.
  • Mittwoch 23.10.: keine Vorlesung, da der Hörsaal nicht verfügbar ist.
  • Dienstag 29.10.: Erste Veranstaltung. 14:15-15:45 Uhr
    Einführung: Überblick, Grundbegriffe, 3-Ebenen-Architektur, ER-Modell
    Folien "ER-Modell"
  • Mi 30.10. Vorlesung
  • Di 5.11. Vorlesung
    1. Übungsblatt (ER-Modell und Umsetzung ER nach relational), Besprechung am 12. und 19.11.
  • Mi 6.11. Vorlesung: Relationales Modell, Abbildung vom ER-Modell auf das relationale Modell
    Folien "Relationales Modell"
  • Di 12.11. Übung - Besprechung eines Teils des ersten Übungsblattes (Aufgaben 1 und 5)
    Musterlösung Blatt 1
    Vorlesung: Relationales Modell (Cont'd)
  • Mi 13.11.
    Besprechung eines weiteren Teils des 1. Übungsblattes (Aufgaben 2, 3, 4, 6).
    Vorlesung: Relationales Modell (Cont'd)
  • Di 19.11. Übung - Besprechung der restlichen Aufgaben des ersten Übungsblattes (Aufgaben 7 und 8).
    Vorlesung: Relationales Modell (Cont'd)
  • Mi 20.11. Vorlesung: Relationale Algebra
    Folien "Relationale Algebra"
    2. Übungsblatt (Relationale Algebra), Besprechung am 26.11., 3.12.
  • Di 26.11. Übung (Aufgaben 2 und 6, Blatt 2), Vorlesung: Relationale Algebra (Cont'd)
    Musterlösung Blatt 2
  • Mi 27.11. Vorlesung: Relationale Algebra (Cont'd)
  • Di 3.12. Besprechung weiterer Aufgaben von Blatt 2
  • Mi 4.12. Besprechung der restlichen Aufgaben von Blatt 2.
  • Di 10.12. Vorlesung: SQL
    Folien "SQL"
    3. Übungsblatt (SQL).
  • Mi 11.12. Vorlesung: SQL (Bis Kap. 3.2 fertig)
  • Di 17.12. Übung (Besprechung von Blatt 3, Aufgaben 6, 1, 2, 4)
    Musterlösung Blatt 3
  • Mi 18.12.2013 Besprechung von Blatt 3, Aufgaben 5 und 3),
    Vorlesung: Kapitel 5 (SQL Syntax für Tabellenerzeugung und Updates), da dieses zum Üben der Klausuren über Weihnachten notwendig ist.
    Folien "SQL - Diverses"
  • damit bis Weihnachten 29./30.10., 5./6.11., 12/13, 19/20, 26/27.11., 3/4.12., 10/11, 17/18.12. = 16 Doppelstunden
  • offizielle Weihnachtspause: 23.12.2013 (Mo.) - 3.1.2014 (Fr)
    bisherige Klausuren zum Üben: siehe unten
  • Vorlesungsevaluierung: Evaluierungsbogen
    Es gibt eine Zusatzfrage:
    • 3.1: Die in die Vorlesungstermine integrierten Besprechungen der Übungsaufgaben finde ich gut (d.h. besser als separate Übungstermine).
    (wird ausserdem in der Vorlesung ausgeteilt; Abgabe bitte bis 15.1. nach der Vorlesung oder in mein Postfach (Flur vor dem Seminarraum im Nullten Stock (also eine Treppe hoch) im Inst. f. Informatik, obere Reihe, etwa in der Mitte)
  • Di 7.1.2014 Vorlesung: Kapitel 5.4+5.5, dann das noch fehlende Kapitel 3.3 als Wiederholung.
  • Mi 8.1. Vorlesung: 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"
  • Vorankündigung Datenbankpraktikum SQL SS2014
    Bedarfsplanung: Interessenten melden sich bitte per Mail (Name, MatNo, Studiengang, e-mail) an may@informatik.uni-goettingen.de
  • Di 14.1. Transaktionen: Sicherheit;
    Interne Speicherungsaspekte Folien "Speicherung, Anfrageauswertung, Optimierung" im Überblick (Wiedersehen mit Algorithmen und Datenstrukturen aus Info I/III)
  • Mi 15.1. Anfrageauswertung (Cont'd): Algorithmen
  • 17.1.: 50 Anmeldungen fuer die Klausur in FlexNever; AngInf, WiInf, math, Forst, aber keine Wirtschaftsmathematik MSc!? Falls sich jemand aus WiMath angemeldet hat, bitte melden
    Am Dienstag wird die Liste mit den Anmeldungen ins Web gestellt, bitte pruefen ob jeder dabei ist.
  • 21.1. 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.
    Ausserdem: Fragestunde - schicken Sie mir (moeglichst konkrete) Fragen, was nochmal besprochen werden soll bitte per Mail.
  • 22.1. keine Vorlesung
  • 7./8.1., 14/15, 21.1. = 5 Doppelstunden, insgesamt 21
  • 28.1. Last-Minute-Fragestunde.
    Vorschläge, was nochmal besprochen werden soll bitte per Mail.
    • Weak Entity Types
    • Drei- und mehrstellige Beziehungen; Auflösen wenn funktionale Abhängigkeiten bestehen (siehe dazu auch die Aufgaben auf Übungsblatt 1)
  • 29.1. (Mittwoch) Klausur
    Raum: MN08 (Nordcampus, GZG-Flachbau), Beginn 14:15
  • Hinweis zur Klausur: Zu den nur kurz behandelten Kapiteln 4 ("Anfrageauswertung etc."), 6 ("Transaktionen") und 7 (Normalisierungstheorie) wird eine Aufgabe mit ein paar Verständnisfragen gestellt.
  • Ergebnisse der Vorlesungsevaluierung

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

Klausurergebnis

  • Vorläufiges Klausurergebnis: pdf
    Statistik: pdf.
    [Vorlaeufig im Sinne von: Tippfehler; Klausureinsicht; moegliche Einwaende des Pruefungsamts; ausserdem darf nur das PA endgueltige Ergebnisse bekanntgeben]
  • Klausureinsicht:
    Di/Mi 4./5.2., jeweils 14-15:30 Uhr in meinem Büro. Es ist keine spezielle Anmeldung erforderlich.
  • Kommentar nach der Bewertung zur Statistik etc:
    • Durchfallquote von 58%
    • Die "Lernstrategie" vieler Teilnehmer scheint darin zu bestehen "Modellierung und Umsetzung ins relationale Modell gibt (maximal!) 35 Punkte, dann noch ein paar Punkte aus 'low hanging fruits' fuer einfachstes SQL und aus Aufgabe 4, das reicht". Nein, es reicht nicht (und Null-Kenntnisse in SQL sind auch kein "ausreichend" in Datenbanken).
      Aufgaben 1+2 sind bei einigen Durchgefallenen wirklich nicht schlecht (4 Leute mit mindestens 30 Punkten, nochmal 6 mit 25-29).
      Das Maximalergebnis in Aufgabe 3 unter den Durchgefallenen waren 12P (von 40 moeglichen), dann folgen 8.5P, 7.5P, 7P, 6P, 6P. Teil (a), und zum Teil lange, aber hoffnungslose Versuche, bei den weiteren Aufgaben einzelne Punkte zu erbeuten.
    • Auch bei den bestanden habenden ist "zuwenig Zeit" nicht der Grund fuer ein evtl enttaeuschendes Ergebnis. Aufgabe 3 zeigt mit den zunehmend schwieriger werdenden Teilaufgaben die Grenzen jedes Einzelnen. Die liegengelassenen Punkte waren nicht "nicht bearbeitet", sondern praktisch bei jedem 1-2 falsch geloeste Aufgaben im jeweiligen persoenlichen Grenzbereich.
      Die schlechtesten Punktzahlen aus Aufgabe 3 bei den bestanden habenden waren 6P, 9P, 9P, 10.5P, 13.5P ...
      Die meisten hatten also Teil (b - groupby) auch noch richtig, und meistens auch mindestens einen sinnvollen Ansatz zu (c - not exists/minus).
  • Klausur WS1314 mit Musterlösungen
    Klausur WS1314 ohne Musterlösungen
  • Leistungsnachweise: Die Ergebnisse werden nach der Klausureinsicht an das PA gemeldet.
    Alle (erfolgreichen) Teilnehmer bekommen einen Schein. Abholung bei Frau Jachinke (IFI, tgl. 9-11 Uhr Raum 0.107) ab demnaechst.
  • Es sind noch Plätze im Datenbankpraktikum SQL SS 2014 zu vergeben. Interessenten melden sich bitte per Mail (Name, MatNo, Studiengang, e-mail) an may@informatik.uni-goettingen.de.

Dokumentation

Literatur

  • A. Kemper, A. Eickler: Datenbanksysteme - Eine Einführung (In Deutsch), Oldenbourg, 1996 -- 7. Auflage 2009.
  • 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, 1994 -- 4. Auflage 2000.
  • J. Ullman and J. Widom: A First Course in Database Systems. Prentice Hall, 1997-- 2nd edition 2001.
  • C. J. Date, H. Darwen: A guide to the SQL standard. Addison-Wesley, New York, 1993 -- 4th edition 1997.