Dozentinnen/Dozenten: Prof. Dott. Ing. Roberto V. Zicari unter Mitarbeit von Dr. Karsten Tolle , Todor Ivanov und Timo Eichhorn
Aktuelles:
Klausur – am Freitag den 18.10.2019 – Start: 10:00 Uhr (Bockenheim Hörsaaltrakt Bockenheim – H VI )
Klausurergebnisse der Klausur vom 18.10.2019
Klausur Einsichttermine sind
Montag 02.12.2019 von 10:00 – 11:00 Uhr (Matrikelnummer <= 6200000)
und
Montag 02.12.2019 von 11:00 bis 12:00 Uhr (Matrikelnummer > 6200000)
Ort: Matheturm RMS-10, 5. Stock, Raum 501
Bemerkungen zur Einsicht: Bei der Klausureinsicht sind Korrekturen in beide Richtungen möglich. Wer zum Ende des Termins kommt, kann nicht erwarten, dass wir ihm die Einsicht über den Zeitslot hinaus gewähren. An sich ist die Dauer der Einsicht ist pro Teilnehmer auf höchstens 15 Minuten beschränkt.
———————————————————————-
Klausurergebnisse der Klausur vom 19.07.2019
Klausur Einsichttermine sind (es steht jedem frei einen der beiden Termine zu wählen)
Dienstag 20.08.2019 von 10:00 – 11:30 Uhr
oder
Montag 26.08.2019 von 13:00 bis 14:30 Uhr
Ort: Matheturm RMS-10, 5. Stock, Raum 501
Bemerkungen zur Einsicht: Bei der Klausureinsicht sind Korrekturen in beide Richtungen möglich. Wer zum Ende des Termins kommt, kann nicht erwarten, dass wir ihm die Einsicht über den Zeitslot hinaus gewähren. An sich ist die Dauer der Einsicht ist pro Teilnehmer auf höchstens 15 Minuten beschränkt.
Inhalt:
In der Vorlesung werden die Grundlagen zur Implementierung von Datenbanksystemen vermittelt.
Themen der Vorlesung sind:
- Physikalische Datenorganisation (wie Hashorganisation, Indexdateien, B*-Bäume)
- Abfrage-Optimierungen (wie Jointechniken, Implementierung von Joins)
- Transaktionen und Recovery.
Veranstaltungsbeginn:
Mittwoch, 17.04.2019
QIS:
Die Veranstaltung im QIS der Goethe Universität – Datenbanksysteme 2
Vorlesungen:
Mittwoch 10:00 – 12:00 Uhr, Hörsaaltrakt Bockenheim – H III
Übung:
Freitag 10:00 – 12:00 Uhr, Hörsaaltrakt Bockenheim – H I
Voraussetzung:
Erfolgreicher Abschluss des Moduls B-PRG oder des Moduls B-HW oder der beiden Module B-MOD und B-DS.
Nützliche Vorkenntnisse: Weiterführende Kenntnisse in Betriebssystemen, Programmiersprachen und Mathematik. Inhalte des Moduls B-DB1.
Klausuren (Bearbeitungszeit: 120 Minuten):
1. Klausur – am Freitag den 19.07.2019 – Start: 10:00 Uhr (Bockenheim – H V)
2. Klausur – am Freitag den 18.10.2019 – Start: 10:00 Uhr (BockenheimHörsaaltrakt Bockenheim – H VI )
Übersicht (wird im Laufe der Veranstaltung angepasst!):
Tag | Datum | Inhalt | Material |
MI | 17/04/2019 | Einführung | Organisatorisches Einfuehrung |
FR | 19/04/2019 | Karfreitag | |
MI | 24/04/2019 | Hashorganisation | Hashorganization |
FR | 26/04/2019 | Übung 1 | Üb1-Hash / Üb1_folien_V2 |
MI | 01/05/2019 | Feiertag 01. Mai | |
FR | 03/05/2019 | Übung 2 |
Üb2-Hash / Üb2_folien |
MI | 08/05/2019 | Hashorganisation / Index (dense / sparse) | s.o. + Index_V2 |
FR | 10/05/2019 | Übung 3 | Uebung3_Index |
MI | 15/05/2019 | Index (dense / sparse) / B*-Baum | B-Baum |
FR | 17/05/2019 | Übung 4 |
GTD2019 HPC_ISC_flyer |
MI | 22/05/2019 | B*-Baum/Sätze variabler Länge |
s.o. Sätze variabler Länge Sätze Var Länge Beispiel |
FR | 24/05/2019 | Übung 5 |
Uebung_Baum_mitLoesungen_update |
MI | 29/05/2019 | Sätze variabler Länge / Joinimplementierung (Karsten Tolle) | Joinimplementierung_u2 |
FR | 31/05/2019 | Übung 6 |
Uebung_SekInd |
MI | 05/06/2019 | Joinimplementierung (Karsten Tolle) |
s.o. |
FR | 07/06/2019 | Übung 7 |
Uebungsblatt Join |
MI | 12/06/2019 | Recovery | Recovery |
FR | 14/06/2019 | Übung 8 |
Uebungsblatt_Recovery_1 Zusatzfolien_Festplatten_RAID |
MI | 19/06/2019 | Recovery | s.o. |
FR | 21/06/2019 | Übung 9 |
Uebungsblatt_Recovery_2Uebungsblatt2_ausgefuellt (als PPTX)Uebungsblatt2_ausgefuellt (als PDF) |
MI | 26/06/2019 | Recovery / Undo-Redo | s.o. |
FR | 28/06/2019 | – |
|
MI | 03/07/2019 | entfällt | |
FR | 05/07/2019 | Übung 11 |
UebungRecovery3 Uebungsblatt3_ausgefuellt |
MI | 10/07/2019 | entfällt | |
FR | 12/07/2019 | Übung 12 und Fragen & Antworten | UebersichtThemen |
MI | 17/07/2019 | zur eigenen Vorbereitung |
|
FR | 19/07/2019 | Klausur (H V evtl. zusätzlich HVI) |
Literatur:
- J. Ullman: ‘Principles of Database Systems’, 2d ed., Computer Science Press, 1982 ISBN 0-7167-8069-0
- Bernstein, Hadzilacos, Goodman: ‘Concurrency Control and Recovery in Database Systems’, Addison Wesley, 1987 Nur noch verfügbar unter (vergriffen): http://research.microsoft.com/en-us/people/philbe/ccontrol.aspx
- A. Kemper, A. Eickler: ‘Datenbanksysteme – Eine Einführung ‘, 8. Auflage Oldenburg Verlag, 2011, ISBN 978-3-486-59834-6
(als E-Book mit dem Übungsbuch über die Informatik Bibliothek herunterladbar!)
Weiterführende Literatur:
- Jim Gray, Andreas Reuter: ‘Transaction Processing: Concepts and Techniques’, Morgan Kaufmann, 1992, ISBN-13 978-1558601901
- Jim Gray (Ed.): The Benchmark Handbook for Database and Transaction Systems (2nd Edition). Morgan Kaufmann 1993, ISBN 1-55860-292-5
- Donald E. Knuth: ‘The Art of computer programming – Sorting and Searching’, Addison-Wesley Publishing Company, 1973, ISBN 0-201-03803-X, Kapitel 6.4
- Ramez Elmasri und Shamkant B. Navathe, ‘Grundlagen von Datenbanksystemen’, Pearson Studium, 2009
- Ramez Elmasri and Shamkant B. Navathe, ‘Fundamentals of Database Systems’, Addison Wesley, 2010
- Derek J. Balling, et al.: ‘High Performance MySQL – Optimization, Backups, Replication, and More’, O’Reilly, 2008, ISBN 978-0-596-10171-8
- H. Faeskorn-Woyke, B. Bertelsmeier, P. Riemer, E. Bauer, ‘Datenbanksysteme, Theorie und Praxis mit SQL2003, Oracle und MySQL’, Pearson Studium, 2007
Weitere Ressourcen:
- Jeffrey Dean and Sanjay Ghemawat: MapReduce: simplified data processing on large clusters
- Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber: Bigtable: A Distributed Storage System for Structured Data
- Apache Hadoop: a framework for running applications on large cluster built of commodity hardware.
- Apache Hive!: a data warehouse infrastructure built on top of Hadoop.
- Apache Derby Database: an open source relational database implemented entirely in Java (Developer’s Guide)