Dozentinnen/Dozenten: Prof. Dott. Ing. Roberto V. Zicari, Dr. Karsten Tolle and Todor Ivanov
Aktuelles:
Klausur Einsichttermin (Klausur vom 3. April) ist Montag 29.04.2019 – Matheturm RMS-10, 5. Stock, Raum 501
Matrikelnummer < 6300000 –> 09:30 bis 10:30 Uhr
Matrikelnummer > 6300000 –> 11:30 bis 12:30 Uhr
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:
- Einführung
- Relationales Datenmodell
- Relationale Algebra
- SQL
- Logische Optimierung
- Normalformen
- Transaktionen
- verteilte Datenbanken
QIS:
Die Veranstaltung im QIS der Goethe Universität – Datenbanksysteme 1
Vorlesungen:
Mittwoch 10:15 – 11:45 Uhr, Hörsaaltrakt Bockenheim – H V
Donnerstag 14:15 – 15:45 Uhr, Hörsaaltrakt Bockenheim – H VI
Übung:
Freitag 14:15 – 15:45 Uhr, Hörsaaltrakt Bockenheim – H V
Übungsabgaben und Bonuspunkte:
Ausgabe und Abgabe erfolgt über OLAT (Kurs URL: https://olat-ce.server.uni-frankfurt.de/olat/auth/RepositoryEntry/6312001545?6)
Sprechstunde zum SQLChecker von Herrn Patrick Bonack: Jeweils Donnerstags vor der Vorlesung ab 13:00 Uhr im Matheturm, 5. Stock, DBIS – Raum 502.
Das 1. Übungsblatt (zum Testen noch ohne Bonuspunkte!) ist ab dem 02.11.2018 ~10:00 Uhr auf OLAT zugänglich. Abgabe ist bis zum 16.11.2018 um 23:55 Uhr über OLAT möglich.
Es wird empfohlen zur Erstellung einer Lösung SQLChecker zu verwenden. Die aktuelle Version kann heruntergeladen werden unter: https://github.com/ptrckbnck/SQLChecker/releases ,
das aktuelle Benutzerhandbuch unter: https://github.com/ptrckbnck/SQLChecker/blob/master/userdoc-1.0.pdf.
Das 2. Übungsblatt wird am 23.11.2018 ausgegeben.
Das 3. Übungsblatt wird am 07.12.2018 ausgegeben.
Das 4. Übungsblatt wird am 18.01.2019 ausgegeben.
Klausuren:
1. Klausur: 15. Februar 2019 (Freitag) von 13:00 bis 16:00 Uhr
2. Klausur: 03. April 2019 (Mittwoch) von 10:00 bis 13:00 Uhr
Datum | Type | Inhalt | Unterlagen |
24.10.2018 | Vorlesung | Organisatorisches und Einführung | Folien Organisatorisches und Einführung |
25.10.2018 | Vorlesung | Relationales Datenmodell | Folien relationales Datenmodell |
26.10.2018 | Übung | Anforderungsanalyse, Konzeption (ER-Diagramm), rel. Datenmodell, MySQL/Workbench, SQL (Einführung) | Bonuspunkte Regelung |
31.10.2018 | Vorlesung | Relationales Datenmodell | s.o. |
01.11.2018 | Vorlesung | Operationen auf Relationen | s.o. |
02.11.2018 | Übung | Vorstellung SQLChecker / ER –> rel. Datenmodell | |
07.11.2018 | Vorlesung | Sprachen für das Relationen Modell | |
08.11.2018 | Vorlesung | SQL | s.o. |
09.11.2018 | Übung | Relationale Algebra | Übungsblatt 2018 11 09, Folien_uebung2_update |
14.11.2018 | Vorlesung | SQL | s.o. |
15.11.2018 | Vorlesung | SQL | Referentielle Integritaet |
16.11.2018 | Übung | SQL | |
21.11.2018 | Vorlesung | Logische Optimierung | Logische Optimierung |
22.11.2018 | Vorlesung | Funktionale Abhängigkeit / Normalformen | Normalformen Bem.: Wegen der Erneuerung des Beamers in H VI findet die Vorlesung in H IV statt (zwei Etagen tiefer). |
23.11.2018 | Übung | Feedback Blatt1 / Ausgabe Blatt2 / Logische Optimierung | Uebungsblatt |
28.11.2018 | Vorlesung | Transaktionen | Transaktionen |
29.11.2018 | Vorlesung | Prakt. SQL 1 – Todor Ivanov | |
30.11.2018 | Übung | Prakt. SQL 2 – Todor Ivanov | Praktische_SQL_Übungen_2 |
05.12.2018 | Vorlesung | Transaktionen | s.o. |
06.12.2018 | Vorlesung | Transaktionen | s.o. |
07.12.2018 | Übung | SQL Functions – Blatt 2 und Blatt 3 – NF | Folien |
12.12.2018 | Vorlesung | Optimistic Concurrency Control | s.o. |
13.12.2018 | Vorlesung | Transaktionen in Praxis – Karsten Tolle | Folien Transaktionen – Praxis |
14.12.2018 | Übung | Übungsblatt | |
19.12.2018 | Vorlesung | Übung | s.o. und Zeitstempelverfahren |
20.12.2018 | Vorlesung | Übung | Uebersicht_bisher und AufgabenNF |
21.12.2018 | Übung | enffällt – keine Übung | |
26.12.2018 | Weihnachten | ||
27.12.2018 | |||
28.12.2018 | |||
02.01.2019 | |||
03.01.2019 | |||
04.01.2019 | |||
09.01.2019 | |||
10.01.2019 | |||
11.01.2019 | |||
16.01.2019 | Vorlesung | Programmieren und DBMS I – Karsten Tolle | Programmieren_DBMS Quellcode des gezeigten Programms (Java) – aus dem Package db: Programmieren_DB_JavaCode Einen JDBC-Treiber für MySQL (MariaDB) findet ihr hier: https://dev.mysql.com/downloads/connector/j/ |
17.01.2019 | Vorlesung | Programmieren und DBMS II – Karsten Tolle | s.o. |
18.01.2019 | Übung | ||
23.01.2019 | Vorlesung | verteilte Datenbanken | Chapter25 Ramez Elmasri and Shamkant B. Navathe |
24.01.2019 | Vorlesung | verteilte Datenbanken | s.o. |
25.01.2019 | Übung | enffällt – keine Übung | |
30.01.2019 | Vorlesung | Übung | |
31.01.2019 | Vorlesung | enffällt – keine Vorlesung | |
01.02.2019 | Übung | ||
06.02.2019 | Vorlesung | Gastvortrag ADASTRA | Folien |
07.02.2019 | Übung | extra Übung (insb. Transaktionen) | FolienExtraUebung |
08.02.2019 | Übung | Fragen und Antworten | Folien8Feb |
13.02.2019 | eigene Vorbereitung – keine Vorlesung | ||
14.02.2019 | eigene Vorbereitung – keine Vorlesung | ||
15.02.2019 | Klausur – von 13:00 bis 16:00 Uhr | Räume und Verteilung wird noch bekannt gegeben |
Vorwissen:
Die Lerninhalte von PRG-2 insbesondere zu den Bereichen Modellierung und ER-Modelle werden vorausgesetzt. Unterlagen hierzu sind auf den Seiten von PRG-2 (http://www-stud.rbi.informatik.uni-frankfurt.de/~prg2/) zu finden. Ebenfalls gibt es hier die früheren Folien aus alten DB1 Veranstaltungen zum Selbststudium.
- Konzeptionelles Design
- Entity-Relationship Modell
- Methoden des DB-Designs 1
- Methoden des DB-Designs 2
Installation von MySQL oder MariaDB
In Rahmen der Vorlesung und der Übungsaufgaben kann entweder MySQL oder MariaDB verwendet werden. Beide Datenbanken verhalten sich annähernd identisch hinsichtlich der in den Übungsaufgaben geforderten SQL-Lösungen. Auch der MySQL Workbench, ein grafisches Werkzeug zum Verwalten einer Datenbank, funktioniert mit beiden Versionen.
Fällt die Wahl auf MySQL, so sollte darauf geachtet werden, dass die Community Edition (MySQL Community Server) runtergeladen und installiert wird: https://dev.mysql.com/downloads/mysql/. Eine Installationsanleitung befindet sich in der MySQL Dokumentation: https://dev.mysql.com/doc/refman/8.0/en/installing.html
Fällt die Wahl auf MariaDB, so kann die aktuelle Version (aktuell MariaDB 10.3 Series) hier runtergeladen werden: https://downloads.mariadb.org/. Die Installation läuft unter Windows ähnlich wie bei MySQL über eine grafische Nutzeroberfläche ab.
Literatur:
- Batini, Ceri, Navathe, ‚Database Design: An Entity Relationship Approach‘, Addison Wesley, 1991
- J. Ullman, ‚Principles of Database Systems‘, 2d ed., Computer Science Press, 1982
- A. Kemper, A. Eickler: ‚Datenbanksysteme – Eine Einführung‚, 7. Auflage Oldenburg Verlag, 2009
Weiterführende Literatur:
- Ramez Elmasri und Shamkant B. Navathe, ‚Grundlagen von Datenbanksystemen‘, Pearson Studium, 2009
- Ramez Elmasri and Shamkant B. Navathe, ‚Fundamentals of Database Systems‘, Addison Wesley, 2006
- Gottfried Vossen, ‚Datenbankmodelle, Datenbanksprachen, Datenbankmanagement-Systeme‘, Oldenbourg, 2008
- H. Faeskorn-Woyke, B. Bertelsmeier, P. Riemer, E. Bauer, ‚Datenbanksysteme, Theorie und Praxis mit SQL2003, Oracle und MySQL‘, Pearson Studium, 2007
- Bernstein, Hadzilacos, Goodman, ‚Concurrency Control and Recovery in Database Systems‚, Addison-Wesley, 1987
- M. Schubert, ‚Datenbanken, Theorie, Entwurf und Programmierung rationaler Datenbanken‘, Vieweg+Teubner, 2007
- M. Pollakowski, ‚Grundkurs MySQL und PHP‘, Vieweg+Teubner, 2005