Einführung in Datenbanken WS 2019/20
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:
23./24.10., 30.10., [31.10], 6./7.11., 13./14.11., 20./21.11., 27./28.11.,
4./5.12., 11./12.12., 18./19.12. (17 Termine vor Weihnachten),
8./9.1., 15./16.1., [22./23.1.], [29./30.1.], [5./6.2.]
- 5 ECTS
-
Termin+Ort: Mi 14-16, Do 14-16, MN 30 (Chemie, Westseite).
- 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 (Nordwest-)Ecke des Gebäudes.
- Anmeldung: es gibt keine offizielle Anmeldung, keine Anwesenheitspflicht.
- Wir versuchen (zum ersten Mal seit langem) StudIP
zu "verwenden" (Anmeldeliste, ggf. Nachrichten an alle Teilnehmer). Mal sehen ob es was taugt ...
Alle Materialien und Ankündigungen findet man HIER auf den "blauen DBIS-Seiten"
- Ü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):
Donnerstag, 27.2.2020, 14:00 Uhr im Hörsaal ZHG 011 (Zentralcampus)
Klausuranmeldung wie immer über FlexNow.
(falls irgendwo die Zeitangabe "13-17 Uhr" auftaucht: das ist die Raumreservierung, nicht die reale Klausurzeit,
UniVZ/FlexNow können das aber nicht immer sauber unterscheiden).
Schreibdauer diesmal 120 Minuten.
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 23.10.: Erste Veranstaltung. 14:15-15:45 Uhr
Organisatorisches, Einführung, Überblick , ...
Folien "ER-Modell"
- Do 24.10. Vorlesung
Einführung: Intro, Grundbegriffe,
3-Ebenen-Architektur
- Mi 30.10. Vorlesung ...
- Do 31.10. Reformationstag ist Feiertag
- Mi 6.11. Vorlesung: ER-Modell
1. Übungsblatt
(ER-Modell und Umsetzung ER nach relational), Besprechung am 13./14./20.11.
- Do 7.11. Vorlesung: ER-Modell, Relationales Modell
Folien "Relationales Modell"
- Hier ist auch schon mal eine der alten Klausuren zum Reinschauen und als Beispiel:
Klausur WS0809 mit Musterlösungen
Klausur WS0809 ohne Musterlösungen
- Mi 13.11. Besprechung von Aufgabe 1+2 des ersten Übungsblattes.
Musterlösung Aufgaben 1+2
- Do 14.11. Vorlesung: Relationales Modell, Umsetzung vom ER-Modell in das relationale Modell.
- Mi 20.11. Besprechung von Aufgabe 3 des ersten Übungsblattes.
- Do 21.11. Besprechung von Aufgaben 4-6 des ersten Übungsblattes.
Musterlösung Blatt 1 (nach der Besprechung nochmal etwas ergänzt).
- Mi 27.11. Vorlesung: Relationale Algebra.
Folien "Relationale Algebra"
2. Übungsblatt (Rel. Algebra);
Besprechung am 4./5./11.12.2019
- Do 28.11. Vorlesung: Relationale Algebra (bis vor das Outer Join)
- Mi 4.12. Besprechung von Aufgabe 1+2 des zweiten Übungsblattes. [ Musterlösung ]
Weiter in der Vorlesung ... noch schnell das Outer Join erledigt ...
- Do 5.12. Vorlesung: Relationale Algebra (Cont'd)
- Mi 11.12. Besprechung weiterer Aufgaben des zweiten Übungsblattes,
evtl. ein bisschen weiter in der Vorlesung.
Musterlösung Blatt 2
- Do 12.12. Besprechung der Aufgaben 7+8 des zweiten Übungsblattes,
Vorlesung: SQL
Folien "SQL"
- Mi 18.12. Besprechung Aufgabe 9 von Blatt 2, Vorlesung: SQL
3. Übungsblatt (SQL).
- Do 19.12. Vorlesung: SQL
-
Vorankündigung
Datenbankpraktikum
SQL SS 2020
- Zur Prüfungsvorbereitung: bisherige Klausuren siehe unten.
- Vorlesungsfreie Zeit: 21. Dezember 2019 bis 5. Januar 2020
- Im neuen Jahr dann noch Besprechung von Blatt 3 und ein kurzer Überblick
über die praxisrelevanten Aspekte der Kapitel 4, 6, 7.
- Mi 8.1.2020: Besprechung von Blatt 3,
Musterlösung Blatt 3
- Do 9.1.2020: Besprechung der restlichen Aufgaben von Blatt 3.
Weiter mit
Kapitel 5 (SQL Syntax für Tabellenerzeugung und Updates)
Folien "SQL - Diverses".
- Mi 15.1. und Do 16.1.:
Zum Ende noch ein kurzer Überblick über die
praxisrelevanten Aspekte der folgenden Kapitel:
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.
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 4: Interne Speicherungsaspekte:
Folien "Speicherung, Anfrageauswertung,
Optimierung" im Überblick (Wiedersehen mit Algorithmen
und Datenstrukturen aus Info I/III und mit Betriebssystem-Aspekten (Caching))
- Vorlesungsevaluierung: automatisch per StudIP. Wird laut Eval-Ankündigung voraussichtlich
am 20.1. freigeschaltet, läuft 14 Tage. Dieselben (teilweise nicht so sehr sinnvollen)
vordefinierten Fragen wie immer. Nutzen Sie ggf. die Freitextfelder für Feedback.
- Veranstaltungsankündigungen für das Sommersemester 2020:
-
Praktikum
Datenbankpraktikum
SQL SS 2020
(BSc, Modul "Fachpraktikum 1-2-3")
Die Veranstaltung vertieft und erweitert die Kenntnisse in relationalen Datenbanken und SQL.
-
Vorlesung
Semistructured Data and XML
SS2020
(Advanced BSc/MSc)
Diese Veranstaltung behandelt ein weiteres Datenmodell und seine Anfragesprachen: XML als
kombiniertes Daten- und Dokumentenformat (das z.B. auch im Bereich Digital Humanities verwendet wird),
mit XPath/XQuery und XSLT. Die Vorlesung ist -wie auch die DB-Vorlesung- praxisorientiert.
-
Vorlesung
Deductive Databases
SS2020
(Advanced BSc/MSc)
Diese Veranstaltung behandelt das zweite "Elternteil" von SQL, den (logikbasierten) relationalen
Kalkül. Darauf aufbauend werden regelbasierte, deduktive, "intelligente" Datenbanken/Datenbanksprachen
der "Datalog"-Familie behandelt, die nicht "nur" einfache Anfragen beantworten können, sondern mit
denen z.B. auch Planungsprobleme gelöst werden können. Als Vorlesung im Bereich Datenbanken/Symbolic
Reasoning/KI richtet sich die Vorlesung an Studierende, die Interesse an theoretischen Ansätzen
haben, und "Formale Systeme" gehört haben, oder parallel hören.
- 22./23./29./30.1./5.2./6.2. keine Vorlesungen mehr
- 21.1.: hier ein interessanter
Zeitungsartikel in der FAZ zum Gehalt von Informatikern.
- 22.1.: Die online-Vorlesungsevaluierung in
StudIP
müsste inzwischen freigeschaltet sein (es gab da wohl etwas Probleme
bei der Technik von EvaSys+StudIP); sollte 2 Wochen lang laufen.
- 31.1.2020: delete from ismember where country='GB' and organization='EU';
- Ergebnisse der Vorlesungsevaluierung
- Tafelbild: Das ist eigentlich kein Tafelbild, sondern eher Skizzen. Hier zählt die Dynamik, das
Entstehen (und Mitdenken) in der Vorlesung. Das Ergebnis sieht damit nie optimal aus - dazu gibts ja
in Ruhe ausgearbeitete Folien und Musterlösungen auf der Webseite.
- Das Vorgreifen und Herumspielen mit späteren Stoff (=SQL) in der Vorlesung ist auch Absicht, um dabei schon
ein bisschen zu zeigen, wo das ganze hinführt. Später wird es ja dann systematisch behandelt.
- Vorlesungsende 7.2.2019
- 20.2. - 14-16 Uhr MN30: noch eine Fragestunde (solange/falls jemand da ist ...)
- schicken Sie mir (möglichst konkrete) Fragen, was nochmal
besprochen werden soll bitte per Mail.
-
26.2.: Nach 208 Anmeldungen zum Anmeldeschluss vor einer Woche waren es heute zum Abmeldeschluss noch 136
(das ist normal, letztes Jahr waren es etwas mehr als 150 Anmeldungen, und 100 noch zum Klausurzeitpunkt).
Damit genügt der Raum ZHG 011.
- Donnerstag, 27.2.2020, 14:00 Uhr im Hörsaal ZHG 011 (Zentralcampus)
Schreibdauer diesmal 120 Minuten.
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
- Statistik: Notenspiegel.
- Klausureinsicht:
Keine Ahnung, wie man das zur Zeit machen soll.
Bisher waren sowieso immer nur wenige Studierende zur Klausureinsicht
da. D.h, wenn das nicht zuviele sind: wer seine/ihre
Klausur sehen will, soll mir eine Mail schicken, ich schaue dann mal,
ob sich das mit einigermassen vertretbarem Aufwand scannen lässt (der
Scanner mag keine lädierten Blätter) und schicke sie dann als pdf.
-
Klausur WS1920 mit
Musterlösungen
Klausur WS1920 ohne
Musterlösungen (Punktevergabe etwas geändert: je 1P von 3g und 4 nach 3b)
- Studierende, die die Klausur bestanden haben, und am Datenbankpraktikum SQL SS 2020
teilnehmen möchten, können sich im StudIP anmelden.
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.
|