1.Leicht
Was bewirkt GROUP BY in einer Abfrage?
- AEs entfernt Zeilen mit NULL-Werten
- BEs sortiert die Zeilen des Ergebnisses alphabetisch
- CEs verbindet zwei Tabellen über ihre gemeinsamen Spalten
- DEs fasst Zeilen mit gleichen Werten zu Gruppen zusammen, sodass Aggregate pro Gruppe berechnet werden
2.Leicht
Welche Constraint stellt sicher, dass eine Spalte nie leer (NULL) bleiben kann?
- ADEFAULT
- BUNIQUE
- CNOT NULL
- DCHECK NULL
3.Leicht
Welches SQL-Schlüsselwort entfernt doppelte Zeilen aus einem Ergebnis?
- ADISTINCT
- BUNIQUE
- CSINGLE
- DDIFFERENT
4.Mittel
Welche Abfrage liefert die Anzahl der Bestellungen pro Kunde?
- ASELECT customer_id FROM orders WHERE COUNT(*) > 0
- BSELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- CSELECT DISTINCT COUNT(*) FROM orders
- DSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
5.Mittel
Was bietet eine Common Table Expression (WITH name AS (...))?
- AEin benanntes temporäres Ergebnis, das innerhalb einer Anweisung verwendet werden kann
- BEine dauerhafte Tabelle, die auf der Festplatte gespeichert bleibt, bis sie mit DROP gelöscht wird
- CEinen Index auf einer Spalte
- DEinen neuen Datenbankbenutzer
6.Mittel
Was bedeutet die funktionale Abhängigkeit A → B?
- AJedem Wert von A ist genau ein Wert von B zugeordnet
- BA und B sind beide Primärschlüssel
- CJedem Wert von B ist genau ein Wert von A zugeordnet
- DA ist ein Fremdschlüssel, der auf B verweist
7.Schwer
Was verlangt die Regel des Write-Ahead Logging (WAL)?
- ADatenseiten müssen vor dem Log geschrieben werden
- BDas Log wird erst nach einem Absturz geschrieben
- CDer Log-Eintrag einer Änderung muss vor der geänderten Datenseite auf stabilen Speicher gelangen
- DJede Abfrage muss protokolliert werden, bevor sie geparst wird
8.Schwer
Warum ist SELECT dept, name, COUNT(*) FROM emp GROUP BY dept in Standard-SQL ungültig?
- Aname ist weder gruppiert noch aggregiert und hat daher keinen einzelnen Wert pro Gruppe
- Bdept muss innerhalb einer Aggregatfunktion stehen
- CCOUNT(*) kann nicht zusammen mit GROUP BY verwendet werden
- DGROUP BY muss alle Spalten der Tabelle aufführen
Lösungsschlüssel
- 1. D · Es fasst Zeilen mit gleichen Werten zu Gruppen zusammen, sodass Aggregate pro Gruppe berechnet werden
- 2. C · NOT NULL
- 3. A · DISTINCT
- 4. D · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 5. A · Ein benanntes temporäres Ergebnis, das innerhalb einer Anweisung verwendet werden kann
- 6. A · Jedem Wert von A ist genau ein Wert von B zugeordnet
- 7. C · Der Log-Eintrag einer Änderung muss vor der geänderten Datenseite auf stabilen Speicher gelangen
- 8. A · name ist weder gruppiert noch aggregiert und hat daher keinen einzelnen Wert pro Gruppe
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.