Abgabe-Deadline: 20.01.2020 12:00 im Moodle
Im LOTS-Tool der Uni Leipzig (https://lots.uni-leipzig.de/sql-training/) können Sie SQL-Anfragen auf einer Bibliotheksdatenbank ausführen. Dort sind Bücher, Autoren und Verläge gespeichert. Bücher können mit Schlagworten versehen werden. Formulieren Sie die folgende Anfrage mittels SQL. In dieser Aufgabe dürfen Sie keine Subanfragen, CTEs, IN, oder EXISTS verwenden. Für jede Subanfrage etc. gibt es einen Punkt Abzug.
Welche Bücher vom Verlag "Springer" (2P) besitzen das Schlagwort "Künstliche Intelligenz"? (3P) Geben Sie die ISBN, den Titel und die Anzahl der Autoren aus (5P). In Klammern stehen die Teilpunkte, die Sie bekommen, wenn Sie Aufgabe nur teilweise lösen.
Abgabe-Deadline: 20.01.2019 12:00 im Moodle
Welche der folgenden Aussagen sind wahr? Jede richtige Antwort gibt 1 Punkt, falsche Antworten geben keine Punktabzüge.
Richtig | Falsch | ||
1. | Wenn ich GRANT rolle TO benutzer ausführe, hat der angegebene Benutzer alle Berechtigungen der spezifizierten Rolle. | ||
2. | Mit REVOKE ... RESTRICT verbiete ich, ein Recht weiterzugeben. | ||
3. | Wenn eine Transaktion Daten schreibt und sie diese selbst wieder liest, nennt man dies ein Dirty Read. | ||
4. | Es laufen zwei Transaktionen parallel. Eine schreibt in x und die andere liest x gleichzeitig. Hier kann ein Lost Update auftreten. | ||
5. | Das Phantomproblem kann auftreten, wenn zwischen zwei Leseoperationen eine andere Transaktion Datensätze löscht. | ||
6. | Es gibt einen Zyklus im Serialisierbarkeitsgraphen der folgenden Historie: w1(x), w2(x), r2(y), r1(y), w3(y), c1, c2, c3 | ||
7. | Wird bei der Historie aus der vorherigen Frage das SX-Sperrverfahren eingesetzt, muss TA2 warten, bevor sie in x schreiben darf. | ||
8. | Die Redo-Info im Transaktionslog wird verwendet, um noch nicht auf die Festplatte geschriebene Aktionen von Gewinner-Transaktionen auszuführen. | ||
9. | In JDBC enthält ein PreparedStatement Fragezeichen als Platzhalter, die vor der Query-Ausführung mit Werten belegt werden können. | ||
10. | In JDBC liefert executeQuery einen Array zurück, der die Ergebnisse der übergebenen Anfrage beinhaltet. |
Für diese Aufgabe wurde auf der Hochschul-PostgreSQL-Datenbank postgres.fbi.h-da.de
eine Datenbank chucknorris
sowie ein Benutzer chucknorris
mit dem Passwort chuck555
erstellt. Dieser Nutzer hat SELECT-Rechte auf der Tabelle public.witze(witz_id INT, witz VARCHAR(2000), aufrufe INT)
sowie ein UPDATE-Recht auf der Aufrufe-Spalte ebendieser Tabelle.
chucknorris
-Datenbank unter dem Benutzer chucknorris
ein und betrachten Sie die Witze-Tabelle.ORDER BY random()
).Betrachten Sie folgenden B+-Baum der Klasse (k=1, k*=1):