Einführung in Datenbanken
Kurs-Beschreibung
Die fortschreitende digitale Transformation in nahezu allen Lebensbereichen führt zu immer grösseren Mengen an Daten. Doch wie können wir solch grosse Datenmengen dauerhaft, konsistent und effizient speichern? Wie strukturieren wir den Datenbestand anhand eines formalen Datenmodells und wie garantieren wir dessen Integrität und Konsistenz? Wie können wir Abfragen in grossen Datenbanksystemen formulieren und wie entwerfen wir Softwaresysteme, die effizient auf grosse Datenbestände zugreifen?
Diese Vorlesung führt grundlegende Datenbanktechniken ein, um den oben genannten Herausforderungen in Speicherung, Management, und Abfrage grosser Datenmengen zu begegnen. Während der Fokus der Vorlesung auf relationalen Datenbanktechnologien liegt, führen wir in einem abschliessenden Teil dokumentbasierte Datenbanktechnologien ein, die häufig in der Analyse heterogener Daten zum Einsatz kommen. Die Vorlesungen werden von wöchentlichen Übungsblättern begleitet, in denen die Studierenden Ihr praktisches Wissen vertiefen und testen können.
Literatur
- Ramez Elmasri and Shamkant B. Navathe, Fundamentals of Database Systems, 7th edition, Pearson Education, 2017
- Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts, 7th Edition, McGraw Hill Education.
Bewertung und Abschlussprüfung
Die Note für dieses Modul wird über eine einzelne Klausur am Semesterende bestimmt. Falls nicht anders angekündigt, wird diese den gesamten Kursinhalt abdecken.
Bonus
Die Modulnote kann, sofern die Klausur bestanden ist, also mindestens mit 4.0 bewertet ist, um 0.33 Punkte verbessert werden, sofern die folgende Bedingung erfüllt ist:
- Es werden mindestens 50% der Punkte aus den wöchentlichen Übungsaufgaben erreicht.
Es gibt keine Möglichkeit im Falle von Krankheit oder anderen Situtationen Übungsaufgaben zu verschieben. Hieran ändert auch das Vorlegen eines ärztlichen Attests nichts.
Syllabus
- Einführung
- Datenbankarchitektur
- Relationale Algebra
- Relationenkalkül
- SQL – Structured Query Language (1-3)
- Datenbankprogrammierung
- Datenbanknormalisierung
- Entity-Relationship Modell
- ER Inheritance und Indexe
- Concurrency Control Mechanisms