Datenbanksysteme I

Vorlesung (Prof. Thalheim):Di, 14.15-15.45 Uhr, LMS2-R.Ü1
Do, 12.15-13.45 Uhr, LMS2-R.Ü1
Übung (G. Fiedler):Mi, 14.15-15.45 Uhr, HRS7-R.3[C3-klein]
Do, 10.15-11.45 Uhr, CAP3-R.I
Fr, 14.15-15.45 Uhr, LMS2-Ü1
Klausur:26.07.2007, 10-12 Uhr,
CAP2-R.C (Hauptfächler)
CAP2-R.D (Nebenfächler)
Wiederholungsklausur:
(nur Bachelor- und Nebenfachstudenten)
23.10.2007, 10-12 Uhr, Ü1

Hinweise zur Übung / Leistungsnachweis
Projektaufgaben
Übungsblätter
Klausurinhalt
Vorlesungs- und Übungsunterlagen
(Eventuell) nützliche Links

Hinweise zur Übung / Leistungsnachweis

Die Veranstaltung "Datenbanksysteme I" richtet sich sowohl an Studierende mit dem Hauptfach Informatik, als auch an Studierende mit Informatik als Nebenfach. Zusätzlich kann die Veranstaltung im Rahmen des Informatik-Zertifikats besucht werden.

Informatik als Haupt- oder Nebenfach

Ab dem Sommersemester 2007 werden für alle Module, die sich an Studierende mit dem Hauptfach Informatik richten, nur noch benotete Leistungsnachweise bzw. Modulprüfungszeugnisse ausgestellt. Die Vergabe von Leistungsnachweisen für die Veranstaltung "Datenbanksysteme I" erfolgt auf Grundlage der Ergebnisse der am Ende der Veranstaltung zu schreibenden Klausur. Um einen einheitlichen Übungsbetrieb zu gewährleisten, betrifft dies alle Studierenden mit Haupt- und Nebenfach Informatik; insbesondere auch Studierende, die die Veranstaltung im Rahmen ihres Informatik-Hauptstudiums oder ihres Magisterstudiums absolvieren möchten.

Die Klausuren für Haupt- und Nebenfächler werden sich inhaltlich unterscheiden. In den Übungen wird darauf hingewiesen werden, welche Themenbereiche jeweils für Haupt- und Nebenfächler klausurrelevant sind.

Informatik-Zertifikat

Studierende, die die Veranstaltung im Rahmen des Informatik-Zertifikats hören, nehmen nicht an der Klausur teil, sondern müssen eine Programmieraufgabe lösen und im Rahmen eines Abschlussgesprächs vorstellen. Bitte nehmen Sie Kontakt mit mir auf (HRS3, Raum 405 oder per Mail an fiedler@is.informatik.uni-kiel.de), damit wir die Einzelheiten der Programmieraufgabe besprechen können.

Praktische Übungen / Erwerb von Bonuspunkten

Für die tägliche Arbeit mit Datenbank- und Informationssystemen ist es unerlässlich, die in der Vorlesung und Übung vorgestellten Prinzipien und Techniken durch eigenes praktisches Arbeiten zu verinnerlichen. Als Anreiz zum praktischen Arbeiten bieten wir parallel zur Übung jedem Studierenden die Möglichkeit, durch das Erstellen einer kleinen Projektarbeit Bonuspunkte für die Klausur nach folgendem Prinzip zu sammeln:

  1. Die Studierenden finden sich in kleinen Projektgruppen (2-4 Personen) zusammen.
  2. Jede Projektgruppe sucht sich ein Thema für eine kleine Datenbankanwendung aus. Studierende, die bereits im Wintersemester in der Veranstaltung "Softwaretechnologie" eine Projektarbeit durchgeführt haben, können diese Arbeit hier fortsetzen. Das Thema der Projektarbeit muss zu Beginn des Semesters dem Übungsleiter mitgeteilt werden.
  3. Während des Semesters ist für die gewählte Themenstellung eine Reihe von Aufgaben zu bearbeiten. Die Lösungen der Aufgaben müssen am Ende des Vorlesungszeitraums abgegeben werden, der genaue Termin wird noch bekanntgegeben. Es ist empfehlenswert, (Teil-)Lösungen bereits während des Semesters zur Kontrolle vorzulegen, um eventuelle Fehler rechtzeitig zu erkennen und zu berichtigen. Die Aufgaben sind nach den in der Vorlesung und Übung vorgestellten Prinzipien umzusetzen, Abweichungen sind zu begründen.
  4. Die Lösungen der Aufgaben werden entsprechend der angegebenen Punktzahl bewertet. Für eine Anrechnung der Bonuspunkte werden nur Abgaben berücksichtigt, die mindestens 50% der maximal möglichen Punkte erreichen.
  5. Für den Leistungsnachweis werden bis zu 20% der in der Klausur erreichbaren Punkte als Bonuspunkte angerechnet. Die Anzahl der anzurechnenden Bonuspunkte ergibt sich aus der in der Projektarbeit erreichten Quote. Die erreichten Bonuspunkte werden kaufmännisch auf halbe Punkte gerundet. (Rechenbeispiel: In der Klausur sind 50 Punkte zu erreichen. Dies ergibt einen maximalen Bonus von 10 Punkten. Ein Studierender hat mit seiner Projektarbeit 76% der maximal möglichen Punkte der Projektaufgaben erreicht. Ihm werden demnach 7.5 Bonuspunkte gutgeschrieben.)

Hinweis: die Projektarbeit ist eine Teamarbeit! Die einzelnen Arbeitsschritte müssen selbstständig durch die Teammitglieder verteilt und koordiniert werden. Alle Mitglieder des Teams "haften" gemeinsam für alle Teile der Abgabe. Jedes Teammitglied muss in der Lage sein, alle Teile der Abgabe (auch die Teile, die von anderen Teammitgliedern bearbeitet wurden) zu erläutern. Falls die schriftliche Ausarbeitung eines Teams inhaltliche oder organisatorische Fragen aufwirft, werden wir die einzelnen Teammitglieder zu einem Abschlussgespräch bitten. Wir behalten uns das Recht vor, Projektarbeiten von Teams mit einer offensichtlich unausgewogenen Arbeitsaufteilung zurückzuweisen.

Übungsblätter

Jede Woche wird ein Übungsblatt mit Aufgaben zum aktuellen Stoffgebiet herausgegeben. Die Lösung der Aufgaben ist freiwillig. Fragen, die bei der Lösung der Aufgaben auftreten, bilden allerdings die Grundlage der Übung. Deshalb erwarten wir, dass Sie sich im Vorfeld der jeweiligen Übung mit den Aufgaben beschäftigen. Erfahrungsgemäß ist das selbstständige Lösen der Übungsaufgaben mit anschließender Diskussion der Probleme die beste Klausurvorbereitung. Der Aha-Effekt der Übung hilft Ihnen in der Klausur nur bedingt.

nach oben


Projektaufgaben

Wer noch keinen Partner für seine Projektarbeit gefunden hat, kann sich bei mir melden. Dies gilt auch für Gruppen, die noch Mitstreiter für ihr Projekt suchen. Ich versuche dann zu vermitteln.

Die Abgabe der Endversion der Projektarbeit muss bis zum 20.07.2007 schriftlich oder per E-Mail erfolgen. Abgaben per E-Mail gelten als empfangen, wenn Sie meine Bestätigungsmail bekommen haben. Sollte nach 24h keine Bestätigung eingetroffen sein, schicken Sie die E-Mail bitte erneut.

Nr. Aufgabe Beschreibung empfohlener Bearbeitungszeitraum
1. 1. Aufgabe Teamfindung, Themensuche bis Ende April
2. 2. Aufgabe Relationale Modellierung bis Mitte Mai
3. 3. Aufgabe Erstellen der Datenbank bis Ende Mai
4. 4. Aufgabe SQL-Anfragen bis Mitte Juni
5. 5. Aufgabe HERM / Embedded SQL bis Ende Juni

Hier finden Sie eine Anleitung, wie Sie mit Hilfe von Ghostscript PDF-Dateien aus beliebigen Windows-Anwendungen heraus erzeugen können.

nach oben


Übungsblätter

Nr. Aufgabenblatt Besprechung am
1. Modellierung im relationalen Datenmodell 18.04., 19.04., 27.04.
2. Modellierung im relationalen Datenmodell (II) 25.04., 03.05., 27.04./04.05.
3. Relationale Algebra 02.05., 03.05./10.05., 04.05./11.05.
4. Relationaler Tupelkalkül 09.05., 10.05., 11.05.
5. SQL (I), Schema der Flugreisedatenbank 16.05., 24.05., 18.05.
6. SQL (II) 23.05., 31.05., 25.05.
7. SQL (III) 30.05., 07.06., 01.06.
8. JDBC, Programm-Skelett Musterlösung
9. HERM 13.06.,14.06.,15.06.
10. HERM, Integritätsbedingungen, Trigger 18.06.,19.06.,20.06.
11. FDs, MVDs, Normalisierung 27.06.,28.06.,29.06.
12. Normalisierung, Transaktionen 04.07.,05.07.,06.07.
13. Speicherstrukturen 11.07.,12.07.,20.07.
In der letzten Woche nutzen wir die Übung für eine Konsultation. Für die Freitagsgruppe führen wir die Konsultation am 13.07. nach dem Vortrag von Prof. Wloka durch. Bereiten Sie bitte entsprechende Fragen vor.

nach oben


Vorlesungs- und Übungsunterlagen

nach oben


Klausurinhalt

Hauptfächler:

  • konzeptionelle Modellierung (Erstellen eines HERM-Schemas)
  • Übersetzung von HERM-Schemata in relationale Datenbankschemata
  • Anfragen an relationale Datenbankschemata mit Hilfe der relationalen Algebra und des TRC
  • SQL (eingeschränkt auf Data Query Language)
  • JDBC-Programmierung (Nutzung des java.sql-Packages)
  • funktionale Abhängigkeiten, mehrwertige Abhängigkeiten, Normalisierung bis 4NF
  • Transaktionen (Scheduling, Konfliktserialisierbarkeit, Recovery)

Nebenfächler:

  • konzeptionelle Modellierung (Erstellen eines HERM-Schemas)
  • Übersetzung von HERM-Schemata in relationale Datenbankschemata
  • Anfragen an relationale Datenbankschemata mit Hilfe der relationalen Algebra
  • SQL (eingeschränkt auf Data Query Language)
  • funktionale Abhängigkeiten, Normalisierung bis 3NF
  • Transaktionen (Begriffsbildung, Konfliktserialisierbarkeit)

nach oben


(Eventuell) nützliche Links

Webinterface für den Datenbankzugriff

Im praktischen Teil der Übung arbeiten wir mit dem Datenbankmanagementsystem DB2 UDB v9.1. In der Übung werden Accounts ausgegeben, die den Zugriff auf die Server der Arbeitsgruppe und das DBS gestatten. Für das Ausprobieren von SQL-Anfragen steht ein Webinterface zur Verfügung:

https://lionis.is.informatik.uni-kiel.de:8075/dbs

Bedienungsanleitung für das Webinterface
DB2 Handbuch (Die Fehlerbeschreibungen zu den SQL-Fehlercodes befinden sich im Abschnitt Referenzinformationen --> Messages --> SQL.)

Visual-SQL

Der Visual-SQL-Editor ist das Ergebnis einer studentischen Arbeit und kann im Rahmen der Übung benutzt werden. Bitte teilen Sie mir evtl. auftretende Fehler mit. Ich werde alle Anregungen sammeln und an die Autoren weiterleiten.

nach oben