Kostenloses Arbeitsblatt Datenbanken & SQL zum Ausdrucken: 8 Aufgaben von leicht bis Prüfungsniveau, mit Lösungsschlüssel. Drucke es aus oder speichere es als PDF.
Für Lehrkräfte: kostenlos ausdrucken, kopieren und im Unterricht verwenden. Jedes neue Arbeitsblatt hat neue Werte und einen eigenen Lösungsschlüssel. Über einen Link zu ExamProblems auf Ihrer Kursseite freuen wir uns.
Name: ____________________ Datum: ____________
1.Leicht
Was bewirkt GROUP BY in einer Abfrage?
AEs fasst Zeilen mit gleichen Werten zu Gruppen zusammen, sodass Aggregate pro Gruppe berechnet werden
BEs entfernt Zeilen mit NULL-Werten
CEs verbindet zwei Tabellen über ihre gemeinsamen Spalten
DEs sortiert die Zeilen des Ergebnisses alphabetisch
2.Leicht
Was ist ein Schlüsselkandidat (Candidate Key)?
AEine minimale Menge von Spalten, die jede Zeile eindeutig identifiziert
BEine Menge von Spalten, die zwei Tabellen gemeinsam haben, um ihre Zeilen zu verknüpfen
CJede Spalte, die NULL-Werte enthält
DEine Spalte, die darauf wartet, ein Fremdschlüssel zu werden
3.Leicht
Was garantiert eine UNIQUE-Constraint auf einer Spalte?
AKeine zwei Zeilen haben in dieser Spalte denselben Nicht-NULL-Wert
BDie Spaltenwerte sind sortiert
CDie Spalte wird automatisch zum Primärschlüssel der Tabelle
DDie Spalte kann nach dem Einfügen nicht mehr geändert werden
4.Mittel
Welche Abfrage liefert die Anzahl verschiedener Städte in der Tabelle customers?
ASELECT COUNT(city) FROM customers GROUP BY city
BSELECT SUM(DISTINCT city) FROM customers
CSELECT DISTINCT COUNT(city) FROM customers
DSELECT COUNT(DISTINCT city) FROM customers
5.Mittel
Warum kann eine Tabelle nur einen Clustered Index haben?
ADer SQL-Standard verbietet mehr als einen Index pro Tabelle
BDie Zeilen können physisch nur in einer Reihenfolge gespeichert werden
CClustered Indexes können nur auf dem Primärschlüssel liegen
DClustered Indexes verbrauchen zu viel Speicher
6.Mittel
Eine Tabelle hat Zeilen, in denen col NULL ist. Welche Zeilen liefert WHERE col = NULL?
AAlle Zeilen der Tabelle
BKeine Zeilen, weil der Vergleich unknown ergibt
CIn jeder Datenbank einen Fehler
DNur die Zeilen, in denen col NULL ist, wie bei IS NULL
7.Schwer
Was liefert folgende Abfrage: SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?
ANur die Studierenden mit der höchsten Note
BDen Notendurchschnitt aller Studierenden
CStudierende mit einer Note über dem Notendurchschnitt
DEinen Fehler, weil Unterabfragen in WHERE nicht erlaubt sind
8.Schwer
Eine Tabelle hat eine Million Zeilen und eine boolesche Spalte is_active, die für 95% davon TRUE ist. Warum könnte der Optimierer einen Index auf is_active für WHERE is_active = TRUE ignorieren?
ADie meisten Zeilen treffen zu, daher ist ein vollständiger Tabellenscan billiger als viele Indexzugriffe
BAuf booleschen Spalten lassen sich keine Indexe anlegen
CDer Index behandelt TRUE als NULL
DDer Optimierer verwendet in WHERE-Klauseln nie Indexe
Lösungsschlüssel
1. A · Es fasst Zeilen mit gleichen Werten zu Gruppen zusammen, sodass Aggregate pro Gruppe berechnet werden
2. A · Eine minimale Menge von Spalten, die jede Zeile eindeutig identifiziert
3. A · Keine zwei Zeilen haben in dieser Spalte denselben Nicht-NULL-Wert
4. D · SELECT COUNT(DISTINCT city) FROM customers
5. B · Die Zeilen können physisch nur in einer Reihenfolge gespeichert werden
6. B · Keine Zeilen, weil der Vergleich unknown ergibt
7. C · Studierende mit einer Note über dem Notendurchschnitt
8. A · Die meisten Zeilen treffen zu, daher ist ein vollständiger Tabellenscan billiger als viele Indexzugriffe
Vollständige Schritt-für-Schritt-Lösungen: Übe dieses Thema auf examproblems.com.