DB 1
- Readers
- Torsten Grust • Benjamin Dietrich • Dennis Butterstein
Vorlesung: Mo, 10:15-11:45, Sand 6/7, großer Hörsaal
Vorlesung: Di, 14:15-15:45, Sand 6/7, großer Hörsaal
Übung: Fr, 10:15-11:45 (neu), Sand 6/7, großer Hörsaal
Klausur: Mo, 8. Februar 2016, 10:00-12:00, Hörsaal N4 (HSZ, Morgenstelle)
Nachklausur: Mo, 4. April 2016, 10:00-12:00, Seminarraum 7E02 (HSZ, Morgenstelle)
Im Forum zu DB I klären wir alle organisatorischen und inhaltlichen Fragen, die sich im Laufe des Semesters auftun werden. Bitte dort regelmäßig vorbei schauen und keine Scheu zu fragen.
Vorlesung
Die Vorlesung Datenbanksysteme I ist die klassische Einführung in das spannende Gebiet der Datenbanksysteme. Zentrales Thema sind die Relationalen Datenbanksysteme, in denen Daten in tabellarischer Form modelliert, gespeichert und angefragt werden. Dieser strikt tabellarische Blick auf Daten ist elegant, intuitiv aber dennoch formal und durch Datenbanksysteme effizient implementierbar, wirft aber auch interessante Fragen auf, denen wir uns in dieser Vorlesung widmen werden:
[ Datenbankbegriff ] Genau welche Services kann ein Datenbanksystem eigentlich bieten?
[ Datenmodellierung, ER-Modelle ] Wie bringt man Daten sinnvoll in tabellarische Form, auch wenn Daten zunächst in Form von Objekten, Bäumen, etc. vorliegen?
[ Relationales Modell, Normalformen ] Welche Charakteristika von Tabellen können wir ausnutzen, um Daten effizient und redundanzfrei speichern und wieder extrahieren zu können?
[ Relationale Algebra, SQL ] Welche Sprachen eignen sich für den Zugriff auf Massen von Tabellendaten?
Sowohl Vorlesung als auch Übung werden von Beispielen und Aufgaben begleitet, die wir mittels des relationalen Datenbanksystems PostgreSQL realisieren werden. PostgreSQL (in der Version 9.x) ist für viele Plattformen (u.a. MS Windows, Linux, Mac OS X) frei verfügbar.
Mit IBM DB2 Express-C V10.1.2 und MySQL stehen weitere relationale Datenbanksysteme frei zur Verfügung.
Klausur und Benotung
Die 90-minütige Klausur zu dieser Vorlesung wird am Montag, den 8. Februar 2016, von 10:00–12:00 Uhr stattfinden.
Wer an der Übung teilgenommen und mindestens 2/3 der Punkte erreicht hat, kann einen Punktebonus für die abschliessende Klausur erhalten. So können von den 90 durch Klausuraufgaben erreichbaren Punkten der Klausur, bis zu 30 Punkte schon im Voraus, durch gute Leistungen in der Übung, erlangt werden.
Literatur
Ramakrishnan, Gehrke: Database Management Systems
(3rd International Edition)
McGraw-Hill, 2003
ISBN 0-07-246563-8
Part I dieses Buch deckt die Inhalte zu relationalen Datenbanksystemen gut ab. Part II widmet sich den Inhalten der Vorlesungen Datenbanksysteme II.
Kemper, Eickler: Datenbanksysteme
(10. Auflage)
De Gruyter Studium, 2015
ISBN 3-11-044375-9
Deutsches Standardlehrbuch, das auch Inhalte der Vorlesung Datenbanksysteme II bespricht. Eine hervorragende Quelle für weiterführende Referenzen.
PostgreSQL, Python und JSONiq
Das relationale Datenbanksystem PostgreSQL ist das Hauptwerkzeug in dieser Vorlesung und auch in den Übungen. Effizient, unkompliziert, standardkonform, erweiterbar und generally awesome. Hinweise zum Download und zur Installation von PostgreSQL. (Für User von Apples OS X bietet Postgres.app eine Installation innerhalb von Sekunden.) [ PostgreSQL Version 9.4 ]
Gelegentlich werden wir in Vorlesung, Übung und Übungsblättern die Programmiersprache Python einsetzen, um einfache Skripte zur Verarbeitung von Tabellendaten zu entwerfen oder die Funktionsweise von Datenbanksystemen zu illustrieren. Frei verfügbar für alle gängigen Sytsteme und oft bereits vorinstalliert. [ Python Version 2.7 ]
Zu Beginn der Vorlesung werden wir JSON als Datenmodell und seine Sprache JSONiq thematisieren. Eine Implementation von JSONiq, sowohl als Sandbox im Web als auch zum Download findet sich auf zorba.io.