Prüfungsteilnehmer Prüfungstermin Einzelprüfungsnummer Kennzahl: Frühjahr Kennwort: 6 6 1 1 6 2020 Arbeitsplatz-Nr.: Erste Staatsprüfung für ein Lehramt an öffentlichen Schulen — Prüfungsaufgaben — Fach: Informatik (vertieft studiert) Einzelprüfung: Datenbanksysteme, Softwaretechnologie Anzahl der gestellten Themen (Aufgaben): 2 Anzahl der Druckseiten dieser Vorlage: 19 Bitte wenden! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 2 Thema Nr. 1 (Aufgabengruppe) Es sind alle Aufgaben dieser Aufgabengruppe zu bearbeiten! Teilaufgabe I: Softwaretechnologie Aufgabe 1 (Zustandsdiagramm) [20 PUNKTE] a) Basisfunktion [12 Punkte] Erstellen Sie ein Zustandsdiagramm für einen Bankautomat, welcher den im Folgenden be- schriebenen Authentifizierungsvorgang von Bankkunden realisiert. Modellieren Sie dazu so- weit nötig sowohl Zustände und Transitionsbedingungen als auch die Aktionen der Zustände. Der Bankautomat startet im Grundzustand und wartet auf das Einlegen einer Bankkarte. Wird eine Karte eingelegt, wird diese eingezogen und der Automat startet die Überprüfung der Bankkarte. Ist die Karte ungültig, wird die Karte ausgeworfen und der Automat wechselt in den Grundzustand. Ist die Karte gültig, kann die vierstellige PIN eingelesen werden. Nach der Bestätigung der Eingabe wird diese überprüft. Ist die PIN gültig, so stoppt der Automat und zeigt eine erfolgreiche Authentifizierung an. Ist die PIN ungültig, zeigt der Automat einen Fehler an und erlaubt eine erneute Eingabe der PIN. Erweiterung [8 Punkte] Der Bankautomaten aus Aufgabe a) soll nun so verändert werden, dass ein Bankkunde nach dem ersten fehlerhaften Eingeben der PIN die PIN erneut eingeben muss. Bei erneuter Falscheingabe, wird eine dritte Eingabe möglich. Bei der dritten Falscheingabe der PIN wird die Karte vom Automaten eingezogen und der Automat geht wieder in den Ausgangszustand über. Hinweis: Für diese Aufgabe dürfen Sie Ihr Zustandsdiagramm aus a) weiter verwenden, wenn Sie eindeutig, z. B. durch den Einsatz von Farben kennzeichnen, was nur zur Aufgabe a) gehört und was Abänderungen des Zustandsdiagramms aus a) sind. Sie können, falls Sie einen neuen Automaten zeichnen, Zustände und Übergänge, die inhaltsgleich zur Lösung des Aufgabenteils a) sind mit einem “W“ markieren, statt sie zu beschriften. In diesem Fall wird der Text aus der Lösung zu Aufgabenteil a) an dieser Stelle wiederholt gedacht. Aufgabe 2 (UML-Klassendiagramm) 34 PUNKTE] Modellieren Sie mit Hilfe eines UML-Klassendiagramms das wie folgend spezifizierte Kurssystem. In dieser Aufgabe soll das Vorlesungs- und Klausurverwaltungssystem einer Universität modelliert werden. Als Teilnehmer gibt es Dozenten und Studenten. Für Studenten soll eine Matrikelnummer und eine E-Mail-Adresse gespeichert werden, für Dozenten eine Mitarbeiternummer. Zusätzlich sind sowohl Dozenten als auch Studenten Menschen und für jeden Menschen wird Vorname, Nachname und Geburtsdatum gespeichert. Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 3 Ein Dozent kann eine Klausur mit einem bestimmten Datum erstellen. Jeder Student kann sich für beliebig viele Klausuren anmelden. Nachdem der Dozent eine Klausur benotet hat, bekommt jeder teilnehmende Student eine Note für diese Klausur. Vorlesungen haben einen Namen, eine Beschreibung und können entweder verpflichtend oder frei- willig sein. Zu jeder Vorlesung kann es beliebig viele Klausuren geben. Zusätzlich kann eine Vor- lesung beliebig viele andere Vorlesungen als Voraussetzungen haben. Hinweis: Achten Sie auf das Vorhandensein von beschrifteten Assoziationen, Attributen und Me- thoden und nutzen Sie Vererbungsstrukturen, wenn dies angemessen erscheint. Auf Sichtbarkeiten und Parameter kann verzichtet werden. Aufgabe 3 (Projektmanagement) [15 PUNKTE] Ein Team aus Softwareentwicklern soll ein Projekt umsetzen, das in 7 Arbeitspakete unterteilt ist. Die Dauer der Arbeitspakete und ihre Abhängigkeiten können Sie aus der folgenden Tabelle entnehmen. Es kann pro Arbeitspaket nur ein Entwickler arbeiten. Name | Dauer in Wochen | Abhängig von Al 3 - A2 6 - A3 3 A2 AA 4 AL,A2 A5 6 AA A6 8 A3 A7 4 - Tabelle 1: Arbeitspakete a) Gantt-Diagramm [11 Punkte] Zeichnen Sie ein Gantt-Diagramm (Balkenplan), das eine kürzestmögliche Projektabwick- lung beinhaltet. b) Anwendung [4 Punkte] 1. Geben Sie den Kritischen Pfad und seine Dauer an. 2. Wie viele Entwickler sind maximal gleichzeitig im Projekt beschäftigt? 3. Um wie viele Wochen würde sich das Projekt verlängern, wenn ein Entwickler weniger zur Verfügung stünde? Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 4 Aufgabe 4 (Entwicklungsprozesse) Wählen Sie zwei Prozessmodelle. [10 PunKTE] a) Nennen und erläutern Sie kurz (1-3 Sätze) zu jedem dieser Modelle drei wichtige Merkmale. b) Geben Sie je zwei Beispiele für Projekteigenschaften an, bei denen eines der gewählten Modelle Vorteile gegenüber dem anderen hat. Aufgabe 5 (Implementierung) Gegeben Sei das folgende Stück Code: // my implementation class Example { /#%* * The helper */ static int helper(int arr[], int x, int HIGH) { int sec = arr[HIGH]; int i = (x-1); for (int j=x; j DocumentTraverser -+hasNext(): boolean +next(): Document AbstractDocument [20 PunKTE] Application R D ocument DocumentEntity Image Job RecordFetch HJob HRecordFetch JobCreator- +createRecordFetch() : RecordFetch +createTransfer() : Transfer Transfer HJobCreator Banking HbeiBanking HTransfer SqlDB DB FileDB | Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 6 a) Benennen Sie im oben zu findenden Klassendiagramm fünf verschiedene Entwurfsmuster. Geben Sie die jeweils beteiligten Klassen und deren Zuständigkeit im entsprechenden Muster an. b) Erklären Sie in maximal drei Sätzen den Zweck des Dekoratormusters. c) Nennen Sie das Design-Prinzip, dem das Dekoratormuster folgt. d) Nennen Sie je einen Vor- und Nachteil des Dekoratormusters. e) Zeichnen Sie das Klassendiagramm des Dekoratormusters. Zeichnen Sie dabei bei den deko- rierten Methoden ein, wie diese aufgerufen werden. Teilaufgabe II: Datenbanken Aufgabe 1 (Entwurfstheorie) [6+10+5+5 PUNKTE] Gegeben sei folgendes ER-Diagramm: geboren pas Orte Einwohnerzahl &) Übernehmen Sie das ER-Diagramm auf Ihre Bearbeitung und ergänzen Sie die Funktiona- litätsangaben im Diagramm. b) Übersetzen Sie das ER-Diagramm in ein relationales Schema. - Datentypen müssen nicht angegeben werden. c) Verfeinern Sie das Schema aus Teilaufgabe b) indem Sie die Relationen zusammenfassen. d) Geben Sie sinnvolle SQL Datentypen für Ihr verfeinertes Schema an. Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 7 Aufgabe 2 (Funktionale Abhängigkeiten) [10 PUNKTE] Sekretäre PersNr Name Boss Raum 4000 Freud 2125 225 4000 | 225 4020 Röntgen 2163 6 4020 Röntgen | 96 4030 Galileo 2127 00) Freud 2137 80 Gegeben sei oben stehenden (lückenhafte) Relationenausprägung Sekretäre sowie die folgenden funktionalen Abhängigkeiten: PersNr — Name PersNr, Boss > Raum Geben Sie für alle leeren Zellen Werte an, so dass keine funktionalen Abhängigkeiten verletzt werden. (Hinweis: Es gibt mehrere richtige Antworten.) Aufgabe 3 (Relationale Anfragesprachen) [4+4-+4 PUNKTE] Gegeben sei ein Universitätsschema (eine beispielhafte Ausprägung hängt der Klausur an - Seite 10). a) Finden Sie alle Studierenden, die keine Vorlesung hören. Formulieren Sie die Anfrage im Tupelkalkül. b) Geben Sie einen Ausdruck an, der die Relation -hoeren erzeugt. Diese enthält für jeden Studierenden und jede Vorlesung, die der Studierende nicht hört, einen Eintrag mit Matri- kelnummer und Vorlesungsnummer. Formulieren Sie die Anfrage in relationaler Algebra. c) Finden Sie alle Studierenden, die keine Vorlesung hören. Formulieren Sie die Anfrage in relationaler Algebra. Aufgabe 4 (Relationale Entwurfstheorie) [2+6 PUNKTE] Gegeben sei die Relation R:{[A,B,C,D,E, F]} mit den FDs A - BCF B - ABF CD + EF Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 8 a) b) Geben Sie alle Kandidatenschlüssel an. Überführen Sie die Relation mittels Synthesealgorithmus in die 3. NF. Geben Sie alle Rela- tionen in der 3. NF an und unterstreichen Sie in jeder einen Kandidatenschlüssel. — Falls Sie Zwischenschritte notieren, machen Sie das Endergebnis klar kenntlich. Aufgabe 5 (Schlüssel) [5+44+6 PUNKTE] Gegeben sei die Relation a) b) R: {[A,B,C]} Schreiben Sie eine SQL-Anfrage, mit der sich zeigen lässt, ob das Paar A,B ein Superschlüssel der Relation R ist. Beschreiben Sie ggf. textuell - falls nicht eindeutig ersichtlich — wie das Ergebnis Ihrer Anfrage interpretiert werden muss, um zu erkennen ob A,B ein Superschlüssel ist. Erläutern Sie den Unterschied zwischen einem Superschlüssel und einem Kandidaten- schlüssel. Tipp: Was muss gelten, damit A,B ein Kandidatenschlüssel ist und nicht nur ein Super- schlüssel? Sei A,B der Kandidatenschlüssel für die Relation R. Geben Sie eine minimale Ausprägung der Relation R an, die diese Eigenschaft erfüllt. Aufgabe 6 (Physische Datenstrukturen) [5 PUNKTE] Fügen Sie die Zahl 4 in den folgenden B-Baum ein. 10 | 20 nn 51ı6|7 8 12 | 14 | 16 | 18 25 | 30 Zeichnen Sie den vollständigen, resultierenden Baum. Aufgabe 7 (Zehnkampf) [4+8+6 PUNKTE] Gegeben sei die Relation Zehnkampf, welche die Ergebnisse eines Zehnkampfwettkampfes verwal- tet. Eine beispielhafte Ausprägung ist in nachfolgender Tabelle gegeben. Hinweise: Jeder Athlet kann in jeder Disziplin maximal ein Ergebnis erzielen. Außerdem können Sie davon ausgehen, dass jeder Name eindeutig ist. Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 9 Name | Disziplin Leistung | Einheit Punkte John | 100m 10.21 Sekunden 845 Peter | Hochsprung 213 Zentimeter | 812 Peter | 100m 10.10 Sekunden 920 Hans | 100m 10.21 Sekunden 845 Hans | 400m 44.12 Sekunden 910 a) Bestimmen Sie alle funktionale Abhängigkeiten, die sinnvollerweise in der Relation Zehn- kampf gelten. b) Normalisieren Sie die Relation Zehnkampf unter Beachtung der von Ihnen identifzierten funktionalen Abhängigkeiten. Unterstreichen Sie alle Schlüssel des resultierenden Schemas. c) Bestimmen Sie in SQL den Athleten (oder bei Punktgleichheit, die Athleten), der in der Summe am meisten Punkte in allen Disziplinen erzielt hat. Benutzen Sie dazu die noch nicht normalisierte Ausgangsrelation Zehnkampf. Aufgabe 8 (SQL) [4+4-+4+5+4+5 PUNKTE] Gegeben sei das Universitätssschema aus Aufgabe 3 (siehe Anhang - Seite 10). Formulieren Sie folgende Anfragen in SQL-92: 1. Welche Vorlesungen liest der Boss des Assistenten Platon (nur Vorlesungsnummer und Titel ausgeben)? . Welche Studierende haben sich schon in mindestens einer direkten Voraussetzung von ’Wis- senschaftstheorie’ prüfen lassen? . Wie viele Studierende hören ’Ethik’? . Welche Studierende sind im gleichen Semester? — Geben Sie Paare von Studierenden aus. Achten Sie darauf, dass ein/e Studierende/r mit sich selbst kein Paar bildet. — Achten Sie auch darauf, dass kein Paar doppelt ausgeben wird: wenn das Paar StudentA, StudentB im Ergebnis enthalten ist, soll nicht auch noch das Paar StudentB, StudentA ausgegeben werden. . In welchen Fächern ist die Durchschnittsnote schlechter als 2? Geben Sie die Vorlesungs- nummer und den Titel aus. . Finden Sie alle Paare von Studierenden (MatrNr duplikatfrei ausgeben), die mindestens zwei Vorlesungen gemeinsam hören. Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 10 Beispielausprägung (zu Aufgabe 3 und 8) Professoren Studierende PersNr Name Rang | Raum MatrNr | Name | Semester 2125 Sokrates C4 226 24002 Xenokrates 18 2126 Russel Cc4 232 25403 Jonas 12 2127 Kopernikus C3 310 26120 Fichte 10 2133 Popper C3 52 26830 Aristoxenos 8 2134 Augustinus C3 309 27550 Schopenhauer 6 2136 Curie C4 36 28106 Carnap 3 2137 Kant C4 7 29120 Theophrastos 2 29555 Feuerbach 2 Vorlesungen voraussetzen VorlNr Titel | SWS | gelesenVon Vorgänger | Nachfolger 5001 Grundzüge 4 2137 5001 5041 5041 Ethik 4 2125 5001 5043 5043 Erkenntnistheorie 3 2126 5001 5049 5049 Möäeutik 2 2125 5041 5216 4052 Logik 4 2125 5043 5052 5052 Wissenschaftstheorie 3 2126 5041 5052 5216 Bioethik 2 2126 5052 5259 5259 Der Wiener Kreis 2 2133 5022 Glaube und Wissen 2 2134 4630 Die 3 Kritiken 4 2137 hören Assistenten MatrNr VorINr PersNr Name Fachgebiet Boss 26120 5001 3002 Platon Ideenlehre 2125 27550 5001 3003 Aristoteles Syllogistik 2125 27550 4052 3004 Wittgenstein Sprachtheorie 2126 28106 5041 3005 Rhetikus Planetenbewegung 2127 28106 5052 3006 Newton Keplersche Gesetze 2127 28106 5216 3007 Spinoza Gott und Natur 2134 28106 5259 prüfen 29120 5001 29120 5041 MatrNr | VorINr PersNr | Note 29120 5049 28106 5001 2126 1 29555 5022 25403 5041 2125 2 25403 5022 27550 4630 2137 2 20555 5001 25403 4630 2137 5 Abb. 1: Beispielausprägung für eine Universitäts-Datenbank -11- Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 11 Thema, Nr. 2 (Aufgabengruppe) Es sind alle Aufgaben dieser Aufgabengruppe zu bearbeiten! Teilaufgabe I: Softwaretechnologie Aufgabe 1 |9 PUNKTE] Zeichnen Sie ein Gantt-Diagramm für folgenden Projektplan: Aktivität Abhängig von Dauer in Wochen Al — g A2 — 6 A3 Al 4 A4 Al d A5 AA 4 A6 A4 4 Bestimmen Sie anschließend die Länge des Kritischen Pfades und geben Sie an, welche Arbeits- pakete an ihm beteiligt sind. Aufgabe 2 [10 PUNKTE] 1. Ordnen Sie die folgenden Ergebnisse den folgenden Phasen des „klassischen“ Wasserfallmodells zu: (A) technische Dokumentation einzelner Module; (B) fertiges System; (C) Entwurfsdoku- ment mit Software-Bauplan; (D) Benutzerhandbuch; (E) Software-Änderungs- und -Renovierungsvorschläge; (F) Pflichtenheft Phasen des Wasserfallmodells: (a) Anforderungsdefinition und Anforderungsaufnahme (b) System- und Softwareentwurf ) ) (c) Programmierung und Unit-Testing (d) Integration und System-Test ) (e) Betrieb und Wartung 2. Nennen und erklären Sie kurz vier Probleme, die bei der Verwendung des Wasserfallmodells auftauchen können. Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 12 Aufgabe 3 [6 PUNKTE] Nennen und erklären Sie kurz zwei der vier objektorientierten Entwurfsprinzipien. Aufgabe 4 [15 PUNKTE] Erstellen Sie ein UML-Sequenzdiagramm zur Abbildung des folgenden Szenarios: e Ein Kunde bestellt Karten an einem Schalter. Daraufhin wird er vom Schalter gefragt, ob er eine Ermäßigung nachweisen kann. e Der Kunde sucht, leider erfolglos, seinen Studierendenausweis und sagt dem Schalter, dass er keinen Ermäßigungsgrund vorweisen kann. e Der Schalter sagt dem Kunden den Preis der Karten und der Kunde gibt dem Schalter das notwendige Geld. e Der Schalter erstellt die Karten, druckt diese aus und übergibt sie dem Kunden. e Dieser geht mit den Karten zum Eingang, worauf die Karten zum Nachweis des Eintritts zerrissen werden. Aufgabe 5 [36 PUNKTE] a) Implementieren Sie ein Programm in einer objektorientierten Programmiersprache, z. B. Java, für das folgende UML-Klassendiagramm. Die shift-Methode soll die x-Postion eines Objektes um xShift verändern und die y-Position um yShift. Die draw-Methode soll die Werte der Attribute der Klasse auf der Konsole ausgeben (- dies kann in Java mit System.out.printin ("...") erfolgen). abstract . Object2D interface Drawable + shift(int xShift, int yShift): void + draw(): void Point Square xPos : int topLeft : Point yPos : int bottomRight : Point | + Point (int x, int y) | + Square(int top, int left, + shift(int xShift, int yShift): int bottom, int right) void + shift(int xShift, int yShift): + draw(): void void er + draw (): void Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 13 b) Schreiben Sie eine Methode, die ein zweidimensionales Array aus ganzen Zahlen (Datentyp int) als Parameter bekommt und ein eindimensionales Array (bestehend aus ganzen Zahlen (Datentyp int)) zurückgibt, dessen Elemente jeweils der Summe der Einträge in der entsprechenden Zeile des zweidimensionalen Arrays entsprechen. Achtung: Die Zeilen des zweidimensionalen Arrays können unterschiedlich lang sein. Zur Vereinfachung sei die Signatur der Methode gegeben: public intl] computeSum(int[][] input) c) Implementieren Sie eine einfach verkettete Liste in einer Klasse List (z. B. in Java), in der in jedem Listenelement ein String gespeichert wird. Die Klasse soll folgende Methoden bereitstellen: e void addFirst (String element): Diese Methode fügt ein Element am Anfang einer Liste ein. e void addLast (String element): Diese Methode hängt ein Element an das Ende der Liste an. e boolean exists(String element): Diese Methode gibt true zurück, wenn die Liste ein Element mit dem Inhalt element beinhaltet, andernfalls gibt sie false zurück. Hinweis: Zwei String-Objekte können mittels der Funktion equals(..) verglichen werden. Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 14 Aufgabe 6 [9 PUNKTE] Bearbeiten Sie zu der gegebenen Funktion folgende Aufgaben: m rn m 16 pet =] . Zeichnen Sie einen Kontrollflussgraphen für das gegebene Programm. Hinweis: Benennen Sie die Knoten mit der zur jeweiligen Anweisung gehörigen Zeilennum- mer. . Wieviele Tests sind mindestens nötig, um eine komplette Knotenüberdeckung zu erreichen? Geben Sie die Eingaben der notwendigen Testfälle an. ii SOON) PB WW DD m int bar(int x, int y) { intta=x; inrz=a/y; if(z<5) { y-2; } else { y-4; } for (int i = 0; i < 10; it+r) { if(a10 b) SELECT DISTINCT k.Jahr FROM Kollektion kK WHERE k.Name IN ( SELECT pr.KollektionName FROM Promi p, promotet pr WHERE p.Alter < 30 AND pr.PromiName = p.Name 9. Beschreiben Sie den Effekt der folgenden SQL-Anfrage in natürlicher Sprache SELECT pr.KollektionName FROM promotet pr, Promi p WHERE pr.PromiName = p.Name GROUP BY pr.KollektionNane HAVING COUNT (*) IN ( SELECT MAX(anzahl) FROM ( SELECT k.Name, COUNT(*) AS anzahl FROM Kollektion k, promotet pr WHERE k.Name = pr.KollektionName GROUP BY k.Name ) ) 6. Formulieren Sie folgende SQL-Anfrage in relationaler Algebra. Die Lösung kann in Baum- oder in Term-Schreibweise angegeben werden, wobei eine Schreibweise genügt. SELECT p.Wohnort FROM Promi p, promotet pr, Kollektion k WHERE p.Name = pr.PromiName AND k.Name pr.KollektionName AND k.Jahr 2018 a) Konvertieren Sie zunächst die gegebene SQL-Anfrage in die zugehörige Anfrage in re- lationaler Algebra nach Standard-Algorithmus. b) Führen Sie anschließend eine relationale Optimierung durch. Beschreiben und be- gründen Sie dabei kurz jeden durchgeführten Schritt. Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 18 Aufgabe 3 (Entwurfstheorie) [4+10+7+6+3 PUNKTE] Gegeben sei folgendes relationales Schema R in erster Normalform: R:{[A,B,C,D,E,F]} Für R gelte folgende Menge FD funktionaler Abhängigkeiten: FD=1{ A-+F, CEF — AB, AE — BB, BC D, AF — C 1. Bestimmen Sie alle Kandidatenschlüssel/Schlüsselkandidaten von R mit FD. Begründen Sie Ihre Antwort. Begründen Sie zudem, warum es keine weiteren Kandidaten- schlüssel/Schlüsselkandidaten gibt. Hinweis: Die Angabe von Attributmengen, die keine Kandidatenschlüssel sind, führt zu Abzügen. 2. Prüfen Sie, ob R mit FD in 2NF bzw. 3NF ist. 3. Bestimmen Sie mit folgenden Schritten eine kanonische Überdeckung FDc von FD. Be- gründen Sie jede Ihrer Entscheidungen: a) Führen Sie eine Linksreduktion von FD durch. Geben Sie die Menge funktionaler Abhängigkeiten nach der Linksreduktion an (FD;). b) Führen Sie eine Rechtsreduktion des Ergebnisses der Linksreduktion (FD;) durch. Geben Sie die Menge funktionaler Abhängigkeiten nach der Rechtsreduktion an (FD). c) Bestimmen Sie eine kanonische Überdeckung FD. von FD auf Basis des Ergebnisses der Rechtsreduktion (FD). 4. Zerlegen Sie R mit FDc mithilfe des Synthesealgorithmus in 3NF. Geben Sie zudem alle funktionalen Abhängigkeiten der erzeugten Relationenschemata an. 5. Prüfen Sie für alle Relationen der Zerlegung aus 4., ob sie jeweils in BCNF sind. Fortsetzung nächste Seite! Frühjahr 2020 Einzelprüfungsnummer: 66116 Seite: 19 Aufgabe 4 (Transaktionen) [16-+4 PUNKTE] 1. Betrachten Sie den folgenden Schedule S$: NIRIT ra(2) ws(y) r2(®) wı(®) wa(z) r3(2) wz(2) wı(y) Geben Sie den Ausgabeschedule (einschließlich der Operationen zur Sperranforderung und -freigabe) im rigorosen Zweiphasen-Sperrprotokoll für den obigen Eingabeschedule $ an. 2. Beschreiben Sie den Unterschied zwischen dem herkömmlichen Zweiphasen-Sperrprotokoll (2PL) und dem rigorosen Zweiphasen-Sperrprotokoll. Warum wird in der Praxis häufiger das rigorose Zweiphasen-Sperrprotokoll verwendet?