Klausur Datenbanken Wintersemester 2005/2006 Prof. Dr. Wolfgang May 14. Februar 2006, 14-16 Uhr Bearbeitungszeit: 90 Minuten



Ähnliche Dokumente
Klausur Datenbanken Wintersemester 2013/2014 Prof. Dr. Wolfgang May 29. Januar 2014, Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, Uhr Bearbeitungszeit: 90 Minuten

Klausur Datenbanken Wintersemester 2011/2012 Prof. Dr. Wolfgang May 8. Februar 2012, Uhr Bearbeitungszeit: 90 Minuten

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

1 topologisches Sortieren

Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, Uhr Bearbeitungszeit: 90 Minuten

Informationsblatt Induktionsbeweis

Geld Verdienen im Internet leicht gemacht

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Anleitung über den Umgang mit Schildern

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Zeichen bei Zahlen entschlüsseln

Primzahlen und RSA-Verschlüsselung

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

I. Fächer / Module beim Lehramt an Grund-, Haupt- und Werkrealschulen

Produktionsplanung und steuerung (SS 2011)

Abwesenheitsnotiz im Exchange Server 2010

HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG

Satzhilfen Publisher Seite Einrichten

Fachhochschule Fulda. Bedienungsanleitung für QISPOS (Prüfungsanmeldung, Notenspiegel und Bescheinigungen)

Professionelle Seminare im Bereich MS-Office

Grundlagen der Theoretischen Informatik, SoSe 2008

Erfahrungen mit Hartz IV- Empfängern

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

HOCHSCHUL-KOMMUNIKATION. Humboldt reloaded. Projektverwaltung. Durchblick im Website-Dschungel

MASTER-BERATUNG. im Fach Kunstgeschichte

Serienbriefe mit Word. [Geben Sie den Untertitel des Dokuments ein] Computeria Rorschach

CodeSaver. Vorwort. Seite 1 von 6

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Sind Sie reif fürs ASSESSEMENT CENTER?

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Studieren- Erklärungen und Tipps

Betragsgleichungen und die Methode der Fallunterscheidungen

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Campus Management (CM)

Datenbanken Kapitel 2

1 Vom Problem zum Programm

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

Tutorium zur Mikroökonomie II WS 02/03 Universität Mannheim Tri Vi Dang. Aufgabenblatt 3 (KW 44) ( )

Der Gabelstapler: Wie? Was? Wer? Wo?

SEK II. Auf den Punkt gebracht!

Kurzanleitung für Verkäufer

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Anleitung für die Online-Bewerbung über LSF auf Lehrveranstaltungen aller Lehramtsstudiengänge

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

Hilfedatei der Oden$-Börse Stand Juni 2014

Kreativ visualisieren

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Fragebogen zur Diplomarbeit von Thomas Friedrich

Wir machen neue Politik für Baden-Württemberg

Hohe Kontraste zwischen Himmel und Landschaft abmildern

Erstellen der Barcode-Etiketten:

Repetitionsaufgaben Wurzelgleichungen

A Lösungen zu Einführungsaufgaben zu QueueTraffic

Lehramt für Sonderpädagogik (Anschluss an den Bachelor rehabilitationswissenschaftliches Profil)

I. Fächer / Module beim Lehramt an Sonderschulen im 1. Studienabschnitt

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Lehrer: Einschreibemethoden

Probeklausur Grundlagen der Datenbanksysteme II

ES GEHT NICHTS ÜBER EX-AZUBIS, Leiter der Fertigung, Produktbereich Blech, bei

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Musterlösungen zur Linearen Algebra II Blatt 5

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen

Wie halte ich Ordnung auf meiner Festplatte?

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

MINDMAP. HANDREICHUNG (Stand: August 2013)

ecaros2 - Accountmanager

Dokumentation: ZIBXL - Auswertung der internen Umbuchungen

Erstellen von x-y-diagrammen in OpenOffice.calc

Anwendungsbeispiele Buchhaltung

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

Personalökonomik Prof. Dr. Stefan Winter

Wie erstelle ich (m)einen Stundenplan?

Übungen zur Vorlesung. Datenbanken I

1 Mathematische Grundlagen

Internationales Altkatholisches Laienforum

Das Leitbild vom Verein WIR

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

Evangelisieren warum eigentlich?

Auf der linken Seite wählen Sie nun den Punkt Personen bearbeiten.

Das Seminarangebot richtet sich an drei Gruppen von Frauen:

Fragebogen für Hauptamtliche im Konfi 3. Falls derzeit kein Konfi 3 läuft, bitte Zahlen des vorherigen Jahrgangs eintragen.

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

AutoTexte und AutoKorrektur unter Outlook verwenden

Leichte-Sprache-Bilder

Fotogalerie mit PWGallery in Joomla (3.4.0) erstellen

Transkript:

Klausur Datenbanken Wintersemester 2005/2006 Prof. Dr. Wolfgang May 14. Februar 2006, 14-16 Uhr Bearbeitungszeit: 90 Minuten Vorname: Nachname: Matrikelnummer: Bei der Klausur sind keine Hilfsmittel (Skripten, Taschenrechner, etc.) erlaubt. Handies müssen ausgeschaltet sein. Papier wird gestellt. Benutzen Sie nur die ausgeteilten, zusammengehefteten Blätter für Ihre Antworten. Schreiben Sie mit blauem/schwarzem Kugelschreiber, Füller, etc.; Bleistift ist nicht erlaubt. Auf dem letzten Blatt finden Sie eine Datenbasis, die in den Aufgaben 2 und 3 verwendet wird. Trennen Sie es ggf. zur Bearbeitung der Aufgaben ab. Zum Bestehen der Klausur sind 45 Punkte hinreichend. meine Note soll mit Matrikelnummer so bald wie möglich auf der Vorlesungs-Webseite veröffentlicht werden. meine Note soll nicht veröffentlicht werden; ich erfahre sie dann aus Munopag (bzw. CLZ: beim Prüfungsamt dort zu erfragen). Max. Punkte Schätzung für 4 Aufgabe 1 (ER-Modell, Relationales Modell) 15 10 Aufgabe 2 (SQL und Relationale Algebra) 28 19 Aufgabe 3 (Anfragen Allgemein ) 21 9 Aufgabe 4 (Transaktionen) 26 10 Summe 90 48 Note:

Aufgabe 1 (ER-Modell [15 Punkte]) Geben Sie ein ER-Modell für den folgenden Sachverhalt an (die für die SQL-Aufgaben angegebene Datenbasis ist ein Teil dieses Szenarios). Geben Sie Schlüssel und Kardinalitäten sinnvoll an. Es gibt Studiengänge. Jeder Studiengang hat einen Namen (z.b. Informatik, Mathematik,...). Studierende: Jeder Student hat einen Namen und eine Matrikelnummer, studiert in mindestens einem, maximal zwei Studiengängen. Dozenten: Jeder Dozent hat einen Namen und einen Titel (z.b. Prof. oder Dr. ). Lehrveranstaltungen (LV): Jede LV hat einen Namen und ist in mindestens einem Studiengang anrechenbar. Jeder LV ist eine bestimmte Anzahl von ECTS- Kreditpunkten (entsprechend dem Aufwand) zugeordnet. Das Vorlesungsverzeichnis (VV) gibt an, welcher Dozent in welchem Semester welche Vorlesung(en) hält (hier gehen wir von einem VV aus, das Daten über viele Semester enthalten kann). Teilnahmevoraussetzungen geben an, welche LVs man erfolgreich absolviert haben muss, um an einer anderen LV teilzunehmen. Studierende, die in einem Semester an einer Prüfung zu einer LV teilgenommen haben, bekommen jeweils eine Note. (Hinweis: Sie können für diese Aufgabe davon ausgehen, dass Prüfungen auch in Semestern stattfinden, in denen die Vorlesung nicht gehalten wurde.) Name Name ECTS < 0, > s.v. Studiengang < 1, > anrechenbar < 1, > LehrVeranst setztvoraus < 0, >istvor < 0, > Semester studiert prf < 0, > < 1, 2 > < 0, > < 0, > hält Semester Note < 0, > Student MatNo Name Dozent Titel Name Bewertung u.a.: fehlende Teilnahmevoraussetzungen -1.5P, fehlende Rollen -0.5P. Es gab einige en, die anstelle der Relationen prf und hält Entity-Types verwenden wollten. Das geht, allerdings muss man es richtig machen (hier am Beispiel von prf ), indem man weak entity type nimmt, der sich durch die teilnehmenden anderen Entities identifiziert (jeweils mit Kardinalität < 1, 1 >):

Name ECTS Semester Note Name MatNo LehrVeranst < 0, > in lv < 1, 1 > Prüfung < 1, 1 > stud < 0, > Student

Aufgabe 2 (SQL und Relationale Algebra [28 Punkte]) Verwenden Sie für Aufgaben 2 und 3 die Datenbasis, die auf dem letzten Blatt der Klausur angegeben ist. 1. Geben Sie ein SQL-Statement an, das das folgende tut: Ausgabe aller Paare (Student(Name), Lehrveranstaltung), so dass der Student eine Prüfung über die LV nicht bestanden hat (Noten 1 bis 4.0 sind bestanden, 5.0 ist nicht bestanden). (3P) SELECT distinct name, lv FROM stud, prf WHERE stud.matno = prf.matno AND note > 4; (fehlendes distinct -0.5P) 2. Geben Sie einen Ausdruck (oder Baum) der relationalen Algebra an, der (1) beantwortet. (3P) π[name,lv](σ[note>4](stud prf)) 3. Geben Sie ein SQL-Statement an, das das folgende tut: Alle Paare (Student(Name), Dozent), so dass der Student eine Prüfung bei diesem Dozenten bestanden hat. (3P) SELECT distinct stud.name, vv.dozent FROM stud, prf, vv WHERE stud.matno = prf.matno AND prf.lv = vv.lv AND prf.semester = vv.semester; AND note <= 4; (fehlendes distinct -0.5P) 4. Geben Sie ein SQL-Statement an, das das folgende tut: Die Namen aller Studierenden, die mindestens 180 ECTS-Punkte erfolgreich erbracht haben. (6 P) SELECT name, FROM stud, prf, lv WHERE stud.matno = prf.matno AND prf.lv = lv.name AND note <= 4

GROUP BY matno, stud.name // man braucht beides: // matno wichtig, da es der key ist (group by name wuerde die Daten // zweier Studierender mit demselben Namen zusammenrechnen) // name wichtig, sonst nicht im select erlaubt! HAVING sum(lv.ects) >= 180 SELECT name FROM stud WHERE 180 <= (SELECT SUM(lv.ects) FROM prf, lv WHERE prf.matno = stud.matno AND prf.lv = lv.name AND note <= 4) Die Anfrage geht also auch mit einer korrelierten Subquery anstelle GROUP BY und HAVING zu beantworten. Dies ist allerdings nur in Fällen möglich, wo man das Ergebnis der Subquery nur zum Vergleichen benötigt und es nicht im Ergebnis ausgeben will. 5. Geben Sie einen SQL-Ausdruck an, der die Namen aller Studierenden zurückgibt, die Datenbanken noch nicht erfolgreich absolviert haben (5P) Hierbei handelt es sich sowohl um diejenigen Studenten, die Datenbanken noch nie geschrieben haben, als auch um diejenigen, die es zwar versucht, aber immer durchgefallen sind (Ein sweg wäre also auch, diese Mengen zu berechnen und zu vereinigen). Einfacher kann man aber sagen: alle, die Datenbanken bisher nicht bestanden haben: SELECT name FROM stud WHERE NOT EXISTS ( SELECT * FROM prf WHERE stud.matno = prf.matno AND prf.lv = Datenbanken AND note <= 4 ); SELECT name FROM stud WHERE matno NOT IN (SELECT matno FROM prf WHERE prf.lv = Datenbanken AND note <= 4 );... und die SQL-Äquivalente der untenstehenden Bäume: 6. Geben Sie einen Ausdruck (oder Baum) der relationalen Algebra an, der (5) beantwortet. (3P)

π[name] minus π[name] stud π[name,matno] stud minus stud σ[lv= Datenbanken note 4] prf π[matno] stud π[matno] σ[lv= Datenbanken note 4] prf 7. Geben Sie eine SQL-Anfrage oder einen Algebra-Ausdruck an (d.h. entscheiden Sie selber, welche Anfragesprache Sie bevorzugen), der folgende Anfrage beantwortet: Namen aller Studierenden, die bei jedem Professor zu mindestens einer Veranstaltung eine Prüfung abgelegt haben (5P). Offensichtlich eine relationale Division: π[name] div pi[name,matno,dozent] stud prf vv ρ[name dozent] σ[titel= Prof ] dozent Hinweis: Das Ergebnis der div sind Tupel der Form (name,matno). Als SQL-Anfrage ist es deutlich komplizierter (mit doppelt geschachteltem Minus und/oder NOT EXISTS).

Aufgabe 3 (Anfragen Allgemein [21 Punkte]) Geben Sie für die folgenden Anfragen jeweils an, ob Sie in SQL oder der relationalen Algebra lösbar sind. Falls ja, geben Sie einen SQL- oder Algebraausdruck an. Falls nein, begründen Sie, warum es nicht möglich ist. a) Die Menge aller Veranstaltungen, die ein Studierender erfolgreich absolviert haben muss, um am Datenbankpraktikum SQL teilnehmen zu dürfen. (3P) Dies ist die Transitive Hülle der setztvoraus-relation. Diese läßt sich in SQL und der relationalen Algebra nicht ausdrücken. b) Die Menge aller Studierenden die eine Prüfung zu einer Veranstaltung abgelegt haben, ohne die Voraussetzungen erfüllt zu haben. (6P) Dies ist möglich, da es genügt, jedes einzelne Paar von Veranstaltungen zu überprüfen. Daraus ergibt sich dann die Erfüllung der transitiven Hülle automatisch. SELECT name FROM stud, prf, vorauss WHERE stud.matnr = prf.matnr AND prf.lv = vorauss.setztvoraus AND NOT EXISTS (SELECT * FROM prf as prf2 WHERE stud.matnr = prf2.matnr AND prf2.lv=vorauss.wirdvorausgesetzt AND prf2.semester < prf.semester AND note <= 4) SELECT name FROM stud, prf, vorauss WHERE stud.matnr = prf.matnr AND prf.lv = vorauss.setztvoraus AND vorauss.wirdvorausgesetzt NOT IN (SELECT lv FROM prf2 WHERE stud.matnr = prf2.matnr AND prf2.semester < prf.semester AND note <= 4) Als Algebra-Baum/Ausdruck ist die Anfrage deutlich komplizierter (es ist keine einfache Division, sondern eine korrelierte ). c) Die Tabelle prf enthält alle Prüfungsdaten aller Studierenden, und ist damit ziemlich groß. Welche Möglichkeiten gibt es, die Speicherung der Daten innerhalb der Datenbank zu optimieren um das Drucken eines Zeugnisses für einen einzelnen Studenten, und das Erstellen einer Notenstatistik über die Informatik I der letzten 10 Jahre

zu unterstützen (6P)? Es bieten sich Suchindexe und optimierte Speicherung an. Zeugnisdruck: Baumindex oder Hash auf prf.matno. (2P) Notenstatistik: Baumindex oder Bitmap auf prf.lv bzw. auf das Paar (prf.lv,prf.semester) (2P) Bei matno bietet sich ein Hash-Index an, da man diese nur selten sequentiell nacheinander durchgehen wird. Für (lv,semester) bringt ein Hash wenig, da keine gleichmäßige Verteilung erreicht wird. Ein Bitmap-Index kann hier auch sinnvoll eingesetzt werden. Man kann die Tabelle geordnet/geclustert ablegen (z.b. nach Matrikelnummern, da dieses Merkmal häufiger benötigt wird, als eine Notenstatistik). (2P) Hingegen ist das Aufspalten der Tabelle auf mehrere Tabellen kein geeignetes Mittel! (damit müssten viele Anfragen viel umständlicher gestellt werden) d) Anfrageoptimierung: Prof. May möchte eine Liste mit den Namen aller Studierenden, die im Jahr 2005 eine Prüfung bei ihm mit mindestens gut bestanden haben. Geben Sie die Anfrage als Algebra-Ausdruck oder Algebra-Baum an, und optimieren Sie diese(n) soweit wie möglich. (6P) π[name] σ[dozent= May Note 2.3 (semester = 42 semester = 51)] stud prf vv Selektionen soweit möglich nach unten, Projektionen ebenfalls so früh wie möglich und Zwischenergebnis möglichst klein: π[name] stud π[matno] [lv,semester] π[matno,lv,semester] σ[note 2.3 (semester = 42 semester = 51)] prf π[lv,semester] σ[dozent= May (semester = 42 semester = 51)] vv

Aufgabe 4 (Transaktionen [26 Punkte]) Gegeben sind die folgenden Transaktionen: T 1 : RA A := A-10 WA RC RB B=B+10 WB T 2 : RD D := D-20 WD RA A=A+20 WA Betrachten Sie den folgenden Schedule S: T 1 T 2 R 1 A R 2 D D := D 20 W 2 D R 2 A A := A + 20 W 2 A A := A 10 W 1 A R 1 C R 1 B B = B + 10 W 1 B a) Gehen Sie von den Anfangswerten A=100, B=200, C=true und D=150 aus und geben Sie die Werte von A,B,C,D nach Ablauf des Schedules S an. (4P) b) Geben Sie den Dependency-Graphen von S an (berücksichtigen Sie dabei auch die Transaktionen T 0 und T wie in der Vorlesung). (4P) c) Geben Sie den Conflict-Graphen von S an. (4P) d) Geben Sie zu jedem der Aufgabenteile a)-c) an, welche Hinweise es gibt, dass der Schedule nicht serialisierbar ist. Geben Sie an, ob diese Feststellungen eine sichere Aussage ermöglichen, oder nur Hinweise sind. (6P) e) Ergänzen Sie beide Transaktionen mit LOCK-Aktionen (z.b. LOCK A und UN- LOCK A; keine Unterscheidung zwischen Lese- und Schreib-Locks), so dass damit garantiert wird, dass nur noch serialisierbare Schedules ausgeführt werden können. Beschreiben Sie kurz die von Ihnen gewählte Strategie. (5P) f) Geben Sie einen Schedule mit diesem Locking an, der mit der ersten Aktion von T 1 beginnt, und dann -soweit wie möglich- T 2 vorrangig bearbeitet. (3P) a) A=90, B=210, C=true, D=130.

b) W 0 A W 0 B W 0 C W 0 D R 1 A W 1 A R 1 C R 1 B W 1 B R A R B R C R D R 2 D W 2 D R 2 A W 2 A Häufig wurden die Kanten W 0 C R C, R 1 C W 1 B oder W 0 A R 2 A vergessen. c) T 0 T 1 T 2 T Man hat einen RW-Konflikt R 1 A W 2 A und einen WR-Konflikt W 2 A W 1 A. d) In (a) ist die Summe vorher 450, nachher 430, obwohl man sieht, dass keine der Transaktionen etwas verschwinden läßt. Dies zeigt sicher, dass etwas nicht stimmen kann. Außerdem stellt man beim durchlaufen bereits fest, dass der bei W 2 A geschriebene Wert überschrieben wird, ohne gelesen zu werden ( Lost Update ) In (b) sieht man dann auch im Graphen, dass der Wert von W 2 A nie gelesen wird (keine Datenflusskante beginnt dort). Dies ist nur ein Hinweis, dass evtl. etwas nicht stimmt, da es auch in seriellen Schedules auftreten kann, wenn eine andere Transaktion später ein blind write ausführt. Der C-Graph in (c) ist zyklisch. Dies genügt zuerst einmal, um festzustellen, dass S nicht C-serialisierbar ist. Da es keine blind writes gibt, ist dies gleichbedeutend damit, dass S nicht serialisierbar ist. e) 2-Phasen Locking: Grundsätzlich darf eine Transaktion ein Datenitem nur lesen/schreiben, wenn sie ein LOCK darauf besitzt. Beim 2-Phasen Locking teilt sich die Transaktion in eine erste Phase, während der LOCKs angefordert werden, und eine zweite, in der sie wieder freigegeben werden. Aktionen siehe (g), wobei es viele verschiedene korrekte Möglichkeiten gibt.

f) LA R 1 A A := A 10 W 1 A LC, LB UA R 1 C UC R 1 B B = B + 10 W 1 B UB // T 2 kann jetzt laufen, erst beim LA muss es warten LD R 2 D D := D 20 W 2 D // T 1 muss B und C locken, bevor UA // jetzt kann T 2 A haben LA UD R 2 A A := A + 20 W 2 A UA

Die folgende Datenbasis wird in den Aufgaben 2 und 3 verwendet. Betrachten Sie die folgende Datenbasis, die ein Prüfungsverwaltungssystem beschreibt: Studierende haben eine Matrikel-Nummer und einen Namen. Semester werden mit 21 = Sommersemester 2002, 22 = Wintersemester 2002/03, 31 = Sommersemester 2003 bezeichnet. Auf diese Weise entspricht die Kleiner-Relation der zeitlichen Abfolge (41 < 42 < 51, Sommersemester 2004 früher als Wintersemester 2004/05 früher als Sommersemester 2005). Stud MatNo Name 0900 Werner Brösel 4242 Karl Napf : : Doz Name Titel Hogrefe Prof Dix Prof Richter Prof May Prof Ebner Dr Behrends DiplInf : : LehrVeranst (LV) Name ECTS Informatik I 9 Informatik II 9 Informatik II 9 Programmierprakt 9 Datenbanken 6 SQL-Prakt 9 : : VorlVerz (VV) LV Dozent Semester Informatik I May 22 Informatik I May 32 Informatik II Fu 31 Informatik II Ebner 41 Programmierprakt Werner 41 Datenbanken May 42 Datenbanken May 52 SQL-Prakt Behrends 51 : : : setztvoraus SetztVoraus wirdvorausgesetzt Informatik II Informatik I Datenbanken Informatik II SQL-Prakt Datenbanken SQL-Prakt Programmierprakt : : Prf MatNo LV Semester Note 0900 Informatik I 22 4.0 0900 Informatik II 31 3.3 0900 Programmierprakt 31 4.0 0900 Datenbanken 32 5.0 0900 Datenbanken 42 4.0 0900 SQL-Prakt 51 2.3 : : : : Hinweis: Für Aufgaben 2 und 3 werden Prüfungen jeweils nur in Semestern betrachtet, wo die Vorlesung auch gehalten wurde, um eine eindeutige Zuordnung zu einem Dozenten zu haben.