Hasso-Plattner-Institut
Prof. Dr. Felix Naumann
 

Übung Datenbanksysteme I

In den Übungen zur Vorlesung Datenbanksysteme I werden ausgewählte Inhalte der Vorlesung bearbeitet und vertieft. Die Übung umfasst theoretische und praktische Aufgaben, die in Teams von zwei Studenten bearbeitet werden sollen.

Die erfolgreiche Teilnahme an der Übung gilt als Voraussetzung zur Prüfungszulassung. Dafür muss ein Aufgabenblatt mit mind. 25% der Punkte bewertet werden und alle weiteren Aufgabenblätter mit mindestens 50% der Punkte.

Zu jeder Übung gibt es zwei identische Termine, um die Teilnehmerzahl für einen Termin zu reduzieren und damit einen größeren Nutzen für jeden Studenten zu erreichen. Die Termine sind

  • Montags 13:30 - 15:00 in HS 2 (statt der VL) und
  • Mittwochs 17:00 - 18:30 in HS 2

Aktuelle Ankündigungen

  • 07.02.07: Musterlösung von Aufgabe 6i hinzugefügt; geänderte Bemerkungen zu Transaktionen (Übung 7, Schedule aus der Übung) hinzugefügt

    Ich biete am 06.02.07, 13.30 - 15.00 Uhr (anstatt der Vorlesung) eine außerplanmäßige Übung an, in der die Lösung der 7. Übung besprochen wird. Darüber hinaus können Fragen geklärt oder bestimmte Konzepte wiederholt werden. Dafür ist es am besten, wenn Sie mir ihre Fragen vorher per E-Mail schicken, so dass ich die wichtigsten auswählen und diese entsprechend vorbereiten kann.

  • 14.01.08: Übungsblatt 6 ausgegeben
    • Den DB2-JDBC Treiber (db2jcc.jar für JDBC ≤ 3.0 bzw. db2jcc4.jar für JDBC 4.0) finden Sie im Verzeichnis /home/dbs1u00/jdbc (auf dem Server isis)
    • Eine gute Hilfestellung zur Arbeit mit DB2 und JDBC bietet das Manual "Developing Java Applications".
    • Fehler in Aufgabenteil c: DB2 unterstützt ON UPDATE CASCADE nicht, so dass die Angabe dieser Konfliktauflösungsstrategie zu einer Fehlermeldung führt. Lassen Sie daher diese Angabe bei der Definition der Tabelle weg.
    • Beispielprogramm
    • Aufgabenteil e: Sie können das evtl. notwendige Entfernen des NOT NULL-Constraints in den Tabellen ACTOR und ACTRESS über die DB2-Konsole (oder CC) durchführen: ALTER TABLE <tblname> ALTER COLUMN <colname> DROP NOT NULL. Bei der Kontrolle wird angenommen, dass diese Constraints nicht existieren. Anschließend müssen Sie REORG TABLE <tblname> ausführen, um auf die Tabelle zugreifen zu können.
  • 08.01.08: Schreibfehler in Aufgabe 2f (Übungsblatt 5): Es ist natürlich die Definition der Tabelle Uebung (und nicht die der Tabelle Student) zu ändern.
  • 18.12.07: Folien und Bemerkungen zur 3. Übungsserie hinzugefügt
  • Übungsblatt 4: Aufgabe 4 (Sichten) wird auf eine spätere Übungsserie verschoben
  • Übungsblatt 5: es wird ein weiteres Übungsblatt zu SQL geben; das JDBC-Übungsblatt wird nach hinten verschoben

Übungstermine

 Termin Thema Aufgabenblatt Abgabetermin
29.10.ER-Modellierung (Folien) Aufgabenblatt 1 7.11.07, 13:30 Uhr
12./14.11.DB-Entwurf (Folien) Aufgabenblatt 2 21.11.07, 13:30 Uhr
26./28.11.Relationale Algebra (Folien, Stand 28.11.,
inkl. Lösung zu Aufgabe BCNF und Dekomposition)
 Aufgabenblatt 3 5.12.07, 13:30 Uhr
03./05.12. SQL
 Aufgabenblatt 4 12.12.07, 13:30 Uhr
17./19.12. Relationale Algebra und SQL
 Aufgabenblatt 5 9.1.08, 13:30 Uhr
14./16.01. Datenbankprogrammierung mit JDBC
 Aufgabenblatt 6 23.1.08, 13:30 Uhr
28./30.01.TransaktionenAufgabenblatt 7 6.2.08, 13:30 Uhr
06.02., 13.30 UhrBesprechung Übung 7 + sonstige Fragen (zuvor per E-Mail senden)
Bemerkungen s.o.

Folien und Bemerkungen

  • Übungsserie 3
    • Folien [pdf] (geänderte Version vom 19.12.07)
    • Bemerkungen zur BCNF/3NF und Monotonie von Anfragen (Aufgabe 3) [pdf]
  • Übungsserie 4
    • Bemerkungen zur Aufgabe 2a [pdf]
  • Übungsserie 6
    • Musterlösung Aufgabenteil i) und Aufruf von DB2-Utilities (wie IMPORT, REORG TABLE) mittels JDBC [zip]
    • Sammlung von JDBC-Beispielprogrammen für die Arbeit mit unterschiedlichen Datenbankobjekten
  • Übungsserie 7: Bemerkungen [pdf] (am 07.02.08 geändert: Schedule aus der Übung hinzugefügt)