Saarland University Saarland University | Department of Computer Science

Big Data Analytics Group

Informationssysteme SoSe 2010

Diese Grundvorlesung gibt eine Einführung in Datenbanksysteme und Informationssysteme.

Themen:

  • Einführung und Motivation
  • Was sind "Daten"?
  • Datenmodelle (relational, hierarchisch, graphisch)
  • Alternative Datenrepräsentationen (XML, RDF, JSON)
  • Datenbankarchitekturen (2-tier, 3-tier, 4-tier, Parallel, P2P, Cloud)
  • Datenbankentwurf (der Weg vom realen Problem zur Datenbank)
  • Entity Relationship-Modellierung (die Welt abbilden auf ER-Diagramme)
  • Relationales Modell (ER-Diagramme abbilden auf Relationen)
  • Relationale Algebra (Mengenorientierte Operationen auf dem Relationen Modell)
  • Tabellen (Relationen abbilden auf Tabellen in einem DBMS)
  • SQL (Mengenorientierte Operationen auf Tabellen)
  • Integritätsbedingungen (Zusätzliche Verbesserung der Konsistenz von Daten)
  • Relationale Entwurfstheorie (Vermeidung der Redundanz von Daten)
  • Transaktionsverwaltung (Zusammenfassen von Operationen)
  • Synchronisation (Nebenläufigkeit von Transaktionen)
  • Übersicht über physische Organisation eines DBMS (Implementierung und Effizienz eines DBMS)
  • Alternative Systeme zur Datenverarbeitung (Suchmaschinen, MapReduce, etc.)
  • Datenbankkonnektivität zu Programmiersprachen (JDBC)
  • Applikationsserver
  • Datenbanken und Clouds
  • ...

Administratives

  • 28.10.: Scheine können ab Montag im Sekretariat abgeholt werden.
  • 14.10.: Raum für Nachklausur ist E1.3, HS II.
  • 12.10.: Projektnoten sind jetzt verfügbar im Vorlesungstool.
  • 31.8.: Klausureinsicht ist am 7. Oktober. E1 1, LS Informationssysteme.
    • Gruppe 1 (Frederic Kerber): 10:00 -10:30
    • Gruppe 2 (Sebastian Steenbuck): 10:30-11:00
    • Gruppe 3 (Kevin Baum): 11:00-11:30
    • Gruppe 4 (Pascal Lessel): 11:30-12:00
    • Gruppe 5 (Jörg Schad): 12:00-12:30
    • Gruppe 6 (Christoph Pinkel): 12:30-13:00
  • 29.7.: Klausurergebnisse sind jetzt verfügbar im Vorlesungstool.
  • 20.7.: Musterlösung zu Blatt 12 ist online.
  • 20.7.: Musterlösung zu Blatt 6 verbessert
  • 13.7.: Musterlösungen der Übungen 5 bis 11 sind online.
  • 8.7.: Detaillierte Anforderungen für Finale Projektabgabe
  • 10.6.: Detaillierte Anforderungen für Meilenstein 3
  • 4.6.: Klausureinsicht ist am 10. Juni: 10:00 Uhr: Tutorium Frederic; 10:30 Uhr: Tutorium Sebastian; 11:00 Uhr: Tutorium Kevin; 11:30 Uhr: Tutorium Pascal; 12:00 Uhr: Tutorium Jörg; 12:30 Uhr: Tutorium Christoph. Raum: Seminarraum Lehrstuhl Informationssysteme, E1 1, 2. Stock
  • 2.6.: Klausureinsicht ist am 10. Juni. Genauer Termin folgt in Kürze.
  • 2.6.: Ergebnis des Midterms ist jetzt im VL-Tool verfügbar.
  • 25.5.: Musterlösung für Blatt 4 (leicht verbessert) ist online.
  • 21.5.: Musterlösung für Blatt 4 ist online.
  • 17.5.: Musterlösungen der Übungen 1 bis 3 sind online.
  • 17.5.: Reines SQL-Skript für Postgres zum Erstellen der VL-DB.
  • 17.5.: Komprimiertes Skript für Postgres zum Erstellen der VL-DB.
  • 17.5.: Punkte für Quizz 3 wurden mit Faktor 15/10 skaliert und sind jetzt im VL-Tool zu sehen.
  • 14.5.: Zuordnung der Teams für Meilenstein 2 ist jetzt im VL-Tool verfügbar.
  • 12.5.: Detaillierte Anforderungen für Meilenstein 2
  • 12.5.: Skript für Postgres zum Erstellen der VL-DB. Dies ist ein Postgres-Backup, das Sie mit Hilfe des Kommandos pgdump DBS < DBS.backup einspielen können.
  • 11.5.: Quizz 3 war offensichtlich zu schwierig. Wir werden deshalb für jeden Studierenden für dieses Quizz die erreichten Punkte hochskalieren. Die Zahlen im VL-Tool (falls vorhanden) sind derzeit OHNE Hochskalieren. Den genauen Faktor legen wir fest, sobald alle Ergebnisse von Quizz 3 verfügbar sind. Zukünftige Quizzes werden weniger Schreibaufwand erfordern.
  • 11.5.: Meilensteine 2 und 3 sind um jeweils eine Woche verschoben. Abgabe für Meilenstein 1 war heute. Die Spezifikation von Meilenstein 2 folgt in Kürze.
  • 5.5.: Detaillierte Anforderungen für Meilenstein 1
  • 4.5.: Bitte registrieren Sie ihr Projekt baldmöglichst: Projektregistrierung
  • 4.5.: Bitte melden Sie sich für die Prüfung bis zum 20. Mai im HISPOS an.
  • 20.4.: Übungsgruppen beginnen am 21. April.
  • 15.4., 17 Uhr: VL-Tool ist wieder verfügbar.
  • 15.4.: Letzte Nacht ist ein Stromtransformator auf dem Campus abgebrannt. Aus diesem Grund hat das Rechenzentrum die meisten Server ausgeschaltet - einschließlich des Servers mit dem VL-Tool. Wir halten Sie auf dem Laufenden.
  • VL-Tool für die Anmeldung zur VL: bitte registrieren Sie sich bis spätestens zum 18. April
  • 3-stündige VL
  • Zeit: jeden Dienstag von 12.15-14:00 und jede zweite Woche Donnerstag von 10:15-12:00 Uhr
  • Ort: neues HS-Gebäude E2 2

Vorlesungsfolien

  • 13.4.: 0-Einleitung
  • 20.4.: 1-Lernziele, Projekt und Architekturen
  • 20.4.: 2-Datenunabhaengigkeit, Datenmodellierung
  • 20.4.: 3a-Datenbankentwurf
  • 22.4.: 3b-Datenbankentwurf
  • 27.4.: 3c-Datenbankentwurf
  • 27.4.: 4a-Relationales Modell
  • 4.5.: 5a-Relationale Algebra
  • 6.5.: 5b-Relationale Algebra
  • 6.5.: 6a-SQL
  • 11.5.: 6b-SQL Zusätzlich zur VL heute habe ich eine Folie mit weiteren Beispielen zu group by hinzugefügt (Folie 12). Desweiteren gibt es eine zusätzliche Folie mit einer Übersicht der verschiedenen Operatoren für Unteranfragen (Folie 33). Auf Folie 32 steht das "as Lehrbelastung" außerhalb der Subquery. Sonst funktioniert es in Postgres leider nicht. In anderen DBMS, z.b. IBM DB2, kann "as Lehrbelastung" aber auch innen stehen und wir dann korrekt als Name der Spalte der äußeren Anfrage übernommen.
  • 18.5.: 6c-SQL
  • 20.5.: 6d-SQL
  • 25.5.: 7-Integritaetsbedingungen
  • 25.5.: 8a-UDFs
  • 27.5.: Zwischenklausur
  • 1.6.: 8b-JDBC (14.6.: Folien 3 und 4 verbessert: Treiber heißt "postgresql")
  • 1.6.: 9a-Relationale Entwurfstheorie
  • 3.6.: Fronleichnam: keine VL
  • 8.6.: 9b-Relationale Entwurfstheorie
  • 15.6.: 9c-Relationale Entwurfstheorie (22.6.: Folie 17 verbessert: Bullet point 2 muß heißen "Wenn die MVD...")
  • 17.6.: 9d-Relationale Entwurfstheorie
  • 17.6.: 10a-Transaktionen
  • 22.6.: 10b-Transaktionen
  • 29.6.: 10c-Transaktionen
  • 1.7.: 10d-Transaktionen
  • 1.7.: 11a-Indexierung
  • 6.7.: 11b-Indexierung
  • 13.7.: 11c-Indexierung
  • 13.7.: 12-Anfrageoptimierung
  • 15.7.: keine VL
  • 20.7.: Q&A ACHTUNG: findet in HS II der Mathematik statt! Nachtrag zur Frage zu Serialiserungsgraph (SG) aus der heutigen VL: "Welche TAs müssen in den Graphen?" Antwort: generell nur die mit commit abgeschlossenen, d.h. erfolgreichen TAs. Deswegen ist Blatt 12, Aufgabe 3.2 trivial, da es nur eine abgeschlossene TA T3 gibt. Ich habe das heute in der VL mit der Implementierung von SG-Tests (SGT) verwechselt (ich hatte SGT nur am Rande während der VL 10c angesprochen): bei SGT implementiert man im DBMS den SG und testet bei jeder neuen Operation, ob es einen Zyklus im SG erzeugt. Da man bei Ankunft einer Operation nicht wissen kann, ob diese Operationen zu einer erfolgreichen Transaktionen gehört oder nicht, müssen alle Operationen aller TAs getestet werden (auch Loser). Bei den SGs, die wir in der VL betrachten, hat man aber bereits "perfektes" Wissen. D.h. wir wissen welche TA erfolgreich ist und welche nicht. Deswegen können nicht-erfolgreiche TAs sofort weggelassen werden. Nur die Konflikte erfolgreicher TAs sind relevant. Fußnote: SGT ist zu aufwendig und deswegen in der Praxis nicht relevant (auch nicht für die Klausur, aber vielleicht für die StammVL ;-) ).
  • 22.7.: Klausur

Übungsblätter

Regeln für Übungen, Quizzes und Projekt

  1. Tutoren
    • Jörg Schad (Cheftutor)
    • Kevin Baum
    • Frederic Kerber
    • Pascal Lessel
    • Christoph Pinkel
    • Sebastian Steenbuck
  2. Übungsgruppen
    • Anmeldung zu den Übungsgruppen nur per VL-Tool (siehe oben)
    • Anmeldung per email nicht möglich.
  3. Übungsblätter
    • es gibt wöchentliche Übungsblätter, veröffentlicht jeweils am Montag 13 Uhr
    • Die Abgabe von Übungsblättern ist nicht verpflichtend, aber: abgegebene Übungsblätter werden vom Tutor korrigiert.
    • Übungsblätter dürfen in Gruppen zu maximal 3 Leuten abgegeben werden.
    • Abgabe der Übungsblätter erfolgt jeweils mit Abgabe des Quiz in der Dienstags-VL.
    • Übungsblatt 1 wird am 19. April veröffentlicht.
  4. Quizzes
    • Zu Beginn jeder Dienstags-VL findet ein Quiz von 15 Minuten statt.
    • Ein Quiz besteht im wesentlichen aus Multiple Choice Fragen. Es können aber auch Freitextfragen vorkommen.
    • Die Quizzes orientieren sich sowohl am Material der VL der vergangenen Woche als insbesondere auch an den Lösungen des Übungsblatts der vergangenen Woche.
    • Es müssen in der Summe mindestens 50% der Punkte in den Quizzes ereicht werden.
    • Maximal 2 Quizzes dürfen mit 0 Punkten bewertet bzw. nicht abgegeben werden (dies gilt vor der Herausnahme von Quizzes, siehe unten).
    • Das Quiz mit der geringsten Punktzahl wird bei der Benotung/Klausurzulassung automatisch nicht berücksichtigt.
    • Es können weitere (höchstens zwei, d.h. insgesamt maximal drei) Quizzes aus der Benotung/Klausurzulassung herausgenommen werden durch das korrekte Vorstellen einer Lösung einer Übungsaufgabe in der Übungsgruppe. In diesem Fall wird ein Quiz für den vorstellenden Studenten herausgenommen. Bitte beachten Sie, dass die Anzahl der vorzustellenden Lösungen pro Student durch die Menge der Teilnehmer eines Tutoriums begrenzt ist!
    • Quizz 1 findet am 27. April um 12.15 Uhr statt.
  5. Projekt
    • In dem Projekt wird in Programmierteams (jeweils 2-3 Studierende) jeweils eine kleine Datenbankapplikation (Point&Click-Interface und DB-Server) erstellt. Näheres in der VL.
    • Das Projekt muss am Ende des Semesters abgegeben werden und es müssen mindestens 50% der Punkte des Projekts erreicht werden. Andernfalls gilt die VL als nicht bestanden.
    • Während des Semesters müssen leichtgewichtige Meilensteine (Dokumente wie z.B. ein ER-Diagramm, keine Implementierung) abgegeben werden. Diese fließen in die Bewertung des Projekts mit ein.
      • Meilenstein 1: 11. Mai um 12:30 Uhr
      • Meilenstein 2: 8. Juni um 12:30 Uhr (wurde um eine Woche verschoben)
      • Meilenstein 3: 6. Juli um 12:30 Uhr (wurde um eine Woche verschoben)

    • Das Projekt muß spätestens bis zum 20. August 2010, 18 Uhr persönlich bei einem Tutor abgegeben werden. Bitte vereinbaren Sie rechtzeitig einen Termin mit Ihrem Tutor.
    • Für Meilensteine und finale Projektabgabe steht Ihnen für das gesamte Semester ein Überziehungsbudget von 3 Tagen zur Verfügung.
    • Beispiel für zulässige Abgaben: Sie geben alle Meilensteine pünktlich ab und das finale Projekt erst am 23. August. Oder Sie geben einen Meilenstein 2 Tage später ab, alle weiteren Meilensteine pünktlich und das Projekt einen Tag verspätet ab.
    • Beispiel für unzulässige Abgaben: Sie geben alle Meilensteine pünktlich ab und das finale Projekt erst am 24. August. Oder Sie geben einen Meilenstein 2 Tage später ab, alle weiteren Meilensteine pünktlich und das Projekt zwei Tage verspätet ab.
    • Falls Sie das Überziehungsbudget überschreiten, wird das Projekt nicht bewertet und damit gilt die VL als nicht bestanden.
    • Wir stellen für jedes Programmierteam ein separates SVN-repository bereit.
    • Unser Systemadministrator wird jede Woche zwei office hours für technische Fragen (svn-Zugang) anbieten. Termin: Montag und Donnerstag von 10-12 Uhr in E1 1 223.2.

Klausurtermine

  • Zwischenklausur: Letzter VL-Termin im Mai: 27. Mai 2010, 10:15 Uhr, 1 Stunde
  • Klausur: Letzter VL-Termin im Semester: 22. Juli 2010, 10:15 Uhr, 2 Stunden
  • Wiederholungsklausur: Letzter Donnerstag vor WS 10/11: 14. Oktober 2010, 10:15 Uhr, 2 Stunden

Benotung

  • Endnote = 20% Quizzes + 20% Zwischenklausur + 20% Projekt + 40% Klausur
  • Für das Projekt und die Quizzes müssen jeweils mindestens 50% der Punkte erreicht werden.
  • Entweder die Klausur oder die Wiederholungsklausur müssen mit mindestens 50% der Punkte bestanden werden.
  • Die bessere Punktzahl aus Klausur und Wiederholungsklausur wird für die Berechnung der Endnote verwendet.
  • Für die Zwischenklausur muß keine Mindestpunktzahl erreicht werden.
  • Die Zwischenklausur kann nicht wiederholt werden.
  • Für jede Übungsgruppe kann der Tutor ein besonders gelungenes Projekt auszeichnen. Das Programmierteam bekommt dann einen zusätzlichen Bonus von einer Notenstufe auf die Endnote (D.h. wenn die Note vorher eine 2,3 war wird eine 2,0 gegeben; wenn die Note vorher eine 1,7 war, wird eine 1,3 gegeben.).
  • Die sechs besten Projekte werden vor der Gruppe von Prof. Dittrich vorgestellt. Das beste Projekt der VL bekommt dann einen zusätzlichen Bonus von einer Notenstufe, d.h. insgesamt zwei Notenstufen auf die Endnote. (D.h. wenn die Note vorher eine 2,3 war, wird eine 1,7 gegeben; wenn die Note vorher eine 1,7 war, wird eine 1,0 gegeben).