1.Leicht
Wie sortierst du ein Ergebnis vom höchsten zum niedrigsten Gehalt?
- AORDER BY salary DESC
- BORDER BY salary ASC
- CGROUP BY salary DESC
- DSORT salary DOWN
2.Leicht
Was ist ein Surrogatschlüssel?
- AEin Schlüssel, der nur in Views verwendet wird
- BEin Schlüssel, der auf eine andere Tabelle verweist
- CEin Schlüssel aus realen Daten wie einer E-Mail-Adresse
- DEin künstlicher Bezeichner ohne fachliche Bedeutung, etwa eine Auto-Increment-ID
3.Leicht
Zu welchem Teil von SQL gehören Anweisungen wie CREATE, ALTER und DROP?
- AData Control Language (DCL)
- BData Definition Language (DDL)
- CData Manipulation Language (DML)
- DTransaction Control Language (TCL)
4.Mittel
Eine Tabelle employees hat eine Spalte manager_id, die auf einen anderen Mitarbeiter verweist. Wie listest du jeden Mitarbeiter neben dem Namen seines Vorgesetzten auf?
- ADie Tabelle employees mit sich selbst über zwei Aliase verbinden
- BEine zweite Kopie der Tabelle auf der Festplatte anlegen
- CNur GROUP BY manager_id verwenden
- DDie Tabelle mit sich selbst über UNION ALL und einen WHERE-Filter kombinieren
5.Mittel
Tabelle a hat 3 Zeilen und Tabelle b hat 4 Zeilen. Wie viele Zeilen liefert SELECT * FROM a CROSS JOIN b?
- A7
- B12
- C3
- D4
6.Mittel
Was ist SQL-Injection?
- AEine Möglichkeit, Indizes hinzuzufügen
- BEine Technik zur Datenbanksicherung
- CEine Methode, um viele Zeilen mit einer einzigen INSERT-Anweisung schnell einzufügen
- DEin Angriff, bei dem Benutzereingaben die Struktur einer SQL-Abfrage verändern
7.Schwer
Die Abfrage FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.status = 'paid' lässt unerwartet Kunden ohne Bestellungen weg. Warum?
- ALEFT JOIN behält nie Zeilen ohne Treffer
- BDie WHERE-Bedingung auf o verwirft die mit NULL gefüllten Zeilen und macht daraus einen Inner Join
- CDer Join sollte USING statt ON verwenden
- Dstatus ist ein reserviertes Wort
8.Schwer
Warum verwenden viele DBMS striktes Zwei-Phasen-Sperren und halten exklusive Sperren bis zum Commit?
- AEs macht ein Transaktionslog überflüssig
- BEs macht Deadlocks unmöglich
- CEs erlaubt Transaktionen, Dirty Data sicher zu lesen
- DEs verhindert kaskadierende Abbrüche, weil niemand nicht festgeschriebene Schreibvorgänge lesen kann
Lösungsschlüssel
- 1. A · ORDER BY salary DESC
- 2. D · Ein künstlicher Bezeichner ohne fachliche Bedeutung, etwa eine Auto-Increment-ID
- 3. B · Data Definition Language (DDL)
- 4. A · Die Tabelle employees mit sich selbst über zwei Aliase verbinden
- 5. B · 12
- 6. D · Ein Angriff, bei dem Benutzereingaben die Struktur einer SQL-Abfrage verändern
- 7. B · Die WHERE-Bedingung auf o verwirft die mit NULL gefüllten Zeilen und macht daraus einen Inner Join
- 8. D · Es verhindert kaskadierende Abbrüche, weil niemand nicht festgeschriebene Schreibvorgänge lesen kann
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.