1.Leicht
Wofür steht NULL in SQL?
- AFür einen fehlenden oder unbekannten Wert
- BFür die Zahl Null in numerischen Spalten
- CFür eine leere Zeichenkette
- DFür einen falschen booleschen Wert
2.Leicht
Was ist ein zusammengesetzter Schlüssel (Composite Key)?
- AEin Schlüssel, der von der Datenbank erzeugt wird
- BEin Schlüssel aus zwei oder mehr Spalten
- CEin Schlüssel, der in einer separaten Tabelle gespeichert ist
- DEin Schlüssel, der doppelte Werte erlaubt
3.Leicht
Welches SQL-Schlüsselwort entfernt doppelte Zeilen aus einem Ergebnis?
- ADIFFERENT
- BDISTINCT
- CUNIQUE
- DSINGLE
4.Mittel
Was liefert EXCEPT (in Oracle MINUS genannt)?
- AAlle Zeilen beider Abfragen ohne Duplikate
- BZeilen der ersten Abfrage, die in der zweiten nicht vorkommen
- CZeilen der zweiten Abfrage, die in der ersten nicht vorkommen
- DZeilen, die in beiden Abfragen vorkommen
5.Mittel
Was bewirkt ROLLBACK TO SAVEPOINT s1?
- AEs löscht den Savepoint und alle seitdem geänderten Tabellen
- BEs macht die nach dem Savepoint s1 vorgenommenen Änderungen rückgängig und lässt die Transaktion offen
- CEs beendet die Transaktion und schreibt alles fest
- DEs macht die ganze Transaktion von Anfang an rückgängig
6.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?
- ANur GROUP BY manager_id verwenden
- BDie Tabelle employees mit sich selbst über zwei Aliase verbinden
- CEine zweite Kopie der Tabelle auf der Festplatte anlegen
- DDie Tabelle mit sich selbst über UNION ALL und einen WHERE-Filter kombinieren
7.Schwer
Transaktion T1 sperrt Zeile A und wartet auf Zeile B, während T2 Zeile B sperrt und auf Zeile A wartet. Was tut ein typisches DBMS?
- AEs erkennt den Deadlock und bricht eine Transaktion als Opfer ab
- BEs schreibt beide Transaktionen gleichzeitig fest
- CEs führt die beiden Transaktionen zu einer zusammen
- DEs lässt beide Transaktionen warten, bis eine von ihnen normal committet
8.Schwer
Warum verwendet man nach customers LEFT JOIN orders COUNT(o.id) statt COUNT(*), um die Bestellungen pro Kunde zu zählen?
- ACOUNT(*) ignoriert Zeilen mit NULL-Werten
- BCOUNT(o.id) zählt nur verschiedene Kunden
- CCOUNT(*) zählt bei Kunden ohne Bestellungen die mit NULL gefüllte Zeile als 1
- DCOUNT(*) ist nach einem Join nicht erlaubt
Lösungsschlüssel
- 1. A · Für einen fehlenden oder unbekannten Wert
- 2. B · Ein Schlüssel aus zwei oder mehr Spalten
- 3. B · DISTINCT
- 4. B · Zeilen der ersten Abfrage, die in der zweiten nicht vorkommen
- 5. B · Es macht die nach dem Savepoint s1 vorgenommenen Änderungen rückgängig und lässt die Transaktion offen
- 6. B · Die Tabelle employees mit sich selbst über zwei Aliase verbinden
- 7. A · Es erkennt den Deadlock und bricht eine Transaktion als Opfer ab
- 8. C · COUNT(*) zählt bei Kunden ohne Bestellungen die mit NULL gefüllte Zeile als 1
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.