1.Leicht
Was ist ein Surrogatschlüssel?
- AEin Schlüssel aus realen Daten wie einer E-Mail-Adresse
- BEin Schlüssel, der nur in Views verwendet wird
- CEin künstlicher Bezeichner ohne fachliche Bedeutung, etwa eine Auto-Increment-ID
- DEin Schlüssel, der auf eine andere Tabelle verweist
2.Leicht
Zu welchem Teil von SQL gehören GRANT und REVOKE?
- AData Query Language (DQL)
- BData Manipulation Language (DML)
- CData Definition Language (DDL)
- DData Control Language (DCL)
3.Leicht
Welche Zeilen wählt WHERE price BETWEEN 10 AND 20 aus?
- AZeilen mit einem Preis außerhalb des Bereichs 10 bis 20
- BNur Zeilen mit einem Preis über 10 und unter 20, ohne 10 und 20
- CZeilen mit einem Preis von 10 bis 20, einschließlich 10 und 20
- DNur Zeilen mit einem Preis von genau 10 oder 20
4.Mittel
Eine Spalte enthält die Werte 10, 20 und NULL. Was liefert AVG(col)?
- ANULL
- B30
- C10
- D15
5.Mittel
Was liefert INTERSECT zwischen zwei SELECT-Abfragen?
- AZeilen, die in beiden Ergebnissen vorkommen
- BAlle Zeilen aus beiden Ergebnissen
- CZeilen im ersten Ergebnis, die nicht im zweiten sind
- DDas kartesische Produkt der Ergebnisse
6.Mittel
Warum schlägt SELECT price * 2 AS double_price FROM t WHERE double_price > 10 in den meisten Datenbanken fehl?
- AWHERE kann nur Textspalten vergleichen
- BWHERE wird vor der SELECT-Liste ausgewertet, daher existiert der Alias noch nicht
- CRechenoperationen sind in der SELECT-Liste nicht erlaubt
- DAliase dürfen keinen Unterstrich enthalten
7.Schwer
Was verlangt die Regel des Write-Ahead Logging (WAL)?
- AJede Abfrage muss protokolliert werden, bevor sie geparst wird
- BDatenseiten müssen vor dem Log geschrieben werden
- CDer Log-Eintrag einer Änderung muss vor der geänderten Datenseite auf stabilen Speicher gelangen
- DDas Log wird erst nach einem Absturz geschrieben
8.Schwer
Warum verwendet man nach customers LEFT JOIN orders COUNT(o.id) statt COUNT(*), um die Bestellungen pro Kunde zu zählen?
- ACOUNT(*) zählt bei Kunden ohne Bestellungen die mit NULL gefüllte Zeile als 1
- BCOUNT(*) ignoriert Zeilen mit NULL-Werten
- CCOUNT(o.id) zählt nur verschiedene Kunden
- DCOUNT(*) ist nach einem Join nicht erlaubt
Lösungsschlüssel
- 1. C · Ein künstlicher Bezeichner ohne fachliche Bedeutung, etwa eine Auto-Increment-ID
- 2. D · Data Control Language (DCL)
- 3. C · Zeilen mit einem Preis von 10 bis 20, einschließlich 10 und 20
- 4. D · 15
- 5. A · Zeilen, die in beiden Ergebnissen vorkommen
- 6. B · WHERE wird vor der SELECT-Liste ausgewertet, daher existiert der Alias noch nicht
- 7. C · Der Log-Eintrag einer Änderung muss vor der geänderten Datenseite auf stabilen Speicher gelangen
- 8. A · 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.