Informatik I

Informatik I

Einführung in die Informatik
und die systematische Programmkonstruktion


Advanced
Functional Programming

Fun with functions and Haskell

Datenbanksysteme I Print

 

 

Link zum Campus LSF

Relationale Datenbanksysteme

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:

  • Genau welche Services kann ein Datenbanksystem bieten?
    [ Datenbankbegriff ]
  • Wie bringt man Daten sinnvoll in tabellarische Form, auch wenn Daten zunächst in Form von Objekten, Bäumen, etc. vorliegen?
    [ Datenmodellierung, ER-Modelle ]
  • Welche Charakteristika von Tabellen können wir ausnutzen, um Daten effizient und redundanzfrei speichern und wieder extrahieren zu können?
    [ Relationales Modell, Normalformen ]
  • Welche Sprachen eignen sich für den deklarativen Zugriff auf und die Transformation von Massen von Tabellendaten?
    [ Relationale Algebra, SQL ]
  • Wie kann der Zugriff auf relationale Datenbanken programmiert werden? Wie kann web-basierter Zugriff auf Datenbanksysteme realisiert werden? ("Wie passen denn Datenbanksysteme und das Web zusammen?" — "Ganz hervorragend!")
    [ Embedded SQL, Web-Interfaces für Datenbanken, Ruby on Rails ]

 

Sowohl Vorlesung als auch Übung werden von Beispielen und Aufgaben begleitet, die wir mittels des relationalen Datenbanksystems IBM DB2 realisieren werden.  IBM DB2 Express-C V9.5 ist für viele Plattformen (u.a. MS Windows, Linux, Mac OS X) frei verfügbar.

Folienskipt

Im Laufe des Semesters wird hier das Folienskript der Vorlesung zum Download verfügbar gemacht (jeweils vor den Vorlesungsterminen — es empfiehlt sich einen Ausdruck der Folien mit in die Vorlesung zu bringen und diese mit Notizen etc. anzureichern). Der Folientext ist in Englisch verfaßt, die Vorlesung selbst wird auf Deutsch gehalten.

 


Kapitel (Foliensatz in PDF) Komplett? (¼, ½, ¾, +) Zusatzmaterial
0. Introduction +
1. Introduction to the Relational Model and SQL +
2. The Relational Model + SQL-Code zur
"Homework" Database: SchemaZustand
3. Relational Algebra +
4. The Entity-Relationship Model +
5. Relational Normal Forms +
6. SQL +

Zeit und Ort

Klausur / Nachprüfung

Die 90-minütige Klausur zu dieser Vorlesung wird am Dienstag, den 21. Juli 2009, von 08:15–09:45 Uhr im großen Hörsaal Sand 6/7 stattfinden.

Hilfsmittel

Als Hilfsmittel zugelassen sind ein handbeschriebenes DIN A4 Blatt.

 

Eine Nachprüfung zu dieser Veranstaltung findet am Vormittag des Dienstag, den 13. Oktober 2009, in Form eines Kolloquiums statt.  Zur Teilnahme an dieser Nachprüfung meldet Euch bitte bis zum 31. August 2009 bei This e-mail address is being protected from spambots. You need JavaScript enabled to view it Wir legen dann konkrete Uhrzeiten und weitere Details fest.

 

Übungsaufgaben

Übungsblätter

Nr.AusgabeBesprechungÜbungsblatt Zusatzmaterial Lösung
1. 23.04.2009 30.04.2009 Übungsblatt 01 Homework.java
2. 30.04.2009 07.05.2009 Übungsblatt 02 SQL-Code
3. 07.05.2009 14.05.2009 Übungsblatt 03
4. 14.05.2009 28.05.2009 Übungsblatt 04 Uni Schema, Uni Daten
5. 28.05.2009 18.06.2009 Übungsblatt 05
6. 18.05.2009 25.06.2009 Übungsblatt 06
7. 25.06.2009 02.07.2009 Übungsblatt 07 3NF aus der Übung
8. 04.07.2009 09.07.2009 Übungsblatt 08
9. 09.07.2009 16.07.2009 Übungsblatt 09

Punkte

Die Vorlesung "Datenbanksysteme I" wird in den nächsten Tagen die Verwaltung der Punkte auf das CIS-System umstellen. Die Anmeldung ist ab sofort freigeschaltet. Bitte meldet Euch also so schnell wie möglich an, um Eure Punkte einsehen zu können. Die Punkte können erst dann eingetragen werden, wenn Ihr Euch angemeldet habt.

Die Punkte zum Aufgabenblatt 1+2 stehen zum Download bereit. Wer sich auf der Liste nicht wiederfindet, hat wahrscheinlich keine Matrikelnummer angegeben. Wir bitten, dies nachzuholen, da es uns aus Datenschutzgründen nur erlaubt ist die Matrikelnummern anzugeben.

Update

Übungsblatt 01: Auf einem Unix-OS homework.java nach Homework.java umbenennen.
Übungsblatt 02: 1 ETCS = 1.5 SWS -> 1.5 ETCS = 1 SWS
Übungsblatt 04:

Attribut AuftragID -> ArtikelID in Tabelle Aufträge,
Fehler in Aufgabe 1.3 ("\" -> "-")
Aufgabe 4.2 wurde auf Tupelebene umformuliert. Bitte ladet sowohl Schema als auch Daten nochmal herunter.

Übungsblatt 05: Aufgabe 01: r-s -> r-s+1
Aufgabe 02: Tabelle trinkt -> Tabelle bevorzugt

Organisatorisches

  • Die Übungen werden wöchentlich abgehalten. Jede Woche werden am Donnerstag neue Übungsblätter auf dieser Seite veröffentlicht.
  • Für die erfolgreiche Teilnahme an der Übung sind 2/3 der Gesamtpunkte aller Übungsblätter nötig.
  • Die Übungsblätter dürfen und sollten in Zweier-Gruppen bearbeitet werden.
  • Für die Bearbeitungszeit eines Übungsblattes ist eine Woche vorgesehen. Die Abgabe der Lösung erfolgt bis spätestens vor dem Besprechungstermin des jeweiligen Übungsblattes. Die Lösungen könnt ihr direkt in der Übung oder im Büro B312 bei Manuel Mayr/Jan Rittinger abgeben. Lösungen, die nach der Besprechung des jeweiligen Übungsblattes abgegeben werden, können nicht mehr berücksichtigt werden.
  • Die Abgabe erfolgt in Papierform. Abgaben in digitaler Form werden nur in Ausnahmefällen akzeptiert.

Für die erfolgreiche Teilnahme an der Übung, nach obigen Regeln, werden 2 LP vergeben.

IBM DB2: Installationshinweise und nützliche Links

 

Ruby on Rails: Web development that doesn't hurt

  • Ruby on RailsDas Framework Ruby on Rails ermöglicht das rapid prototyping von datenbankgestützten Web-Anwendungen.  Ruby on Rails basiert auf der objektorientierten Sprache Ruby.

Dozenten

Prof. Dr. Torsten Grust und Manuel Mayr.