Arbeitsblatt Datenbanken & SQL mit Lösungen

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.

Neues ArbeitsblattOnline mit Tipps üben

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?

  1. AEs fasst Zeilen mit gleichen Werten zu Gruppen zusammen, sodass Aggregate pro Gruppe berechnet werden
  2. BEs entfernt Zeilen mit NULL-Werten
  3. CEs verbindet zwei Tabellen über ihre gemeinsamen Spalten
  4. DEs sortiert die Zeilen des Ergebnisses alphabetisch
2.Leicht

Was ist ein Schlüsselkandidat (Candidate Key)?

  1. AEine minimale Menge von Spalten, die jede Zeile eindeutig identifiziert
  2. BEine Menge von Spalten, die zwei Tabellen gemeinsam haben, um ihre Zeilen zu verknüpfen
  3. CJede Spalte, die NULL-Werte enthält
  4. DEine Spalte, die darauf wartet, ein Fremdschlüssel zu werden
3.Leicht

Was garantiert eine UNIQUE-Constraint auf einer Spalte?

  1. AKeine zwei Zeilen haben in dieser Spalte denselben Nicht-NULL-Wert
  2. BDie Spaltenwerte sind sortiert
  3. CDie Spalte wird automatisch zum Primärschlüssel der Tabelle
  4. 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?

  1. ASELECT COUNT(city) FROM customers GROUP BY city
  2. BSELECT SUM(DISTINCT city) FROM customers
  3. CSELECT DISTINCT COUNT(city) FROM customers
  4. DSELECT COUNT(DISTINCT city) FROM customers
5.Mittel

Warum kann eine Tabelle nur einen Clustered Index haben?

  1. ADer SQL-Standard verbietet mehr als einen Index pro Tabelle
  2. BDie Zeilen können physisch nur in einer Reihenfolge gespeichert werden
  3. CClustered Indexes können nur auf dem Primärschlüssel liegen
  4. DClustered Indexes verbrauchen zu viel Speicher
6.Mittel

Eine Tabelle hat Zeilen, in denen col NULL ist. Welche Zeilen liefert WHERE col = NULL?

  1. AAlle Zeilen der Tabelle
  2. BKeine Zeilen, weil der Vergleich unknown ergibt
  3. CIn jeder Datenbank einen Fehler
  4. 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)?

  1. ANur die Studierenden mit der höchsten Note
  2. BDen Notendurchschnitt aller Studierenden
  3. CStudierende mit einer Note über dem Notendurchschnitt
  4. 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?

  1. ADie meisten Zeilen treffen zu, daher ist ein vollständiger Tabellenscan billiger als viele Indexzugriffe
  2. BAuf booleschen Spalten lassen sich keine Indexe anlegen
  3. CDer Index behandelt TRUE als NULL
  4. DDer Optimierer verwendet in WHERE-Klauseln nie Indexe

Lösungsschlüssel

  1. 1. A · Es fasst Zeilen mit gleichen Werten zu Gruppen zusammen, sodass Aggregate pro Gruppe berechnet werden
  2. 2. A · Eine minimale Menge von Spalten, die jede Zeile eindeutig identifiziert
  3. 3. A · Keine zwei Zeilen haben in dieser Spalte denselben Nicht-NULL-Wert
  4. 4. D · SELECT COUNT(DISTINCT city) FROM customers
  5. 5. B · Die Zeilen können physisch nur in einer Reihenfolge gespeichert werden
  6. 6. B · Keine Zeilen, weil der Vergleich unknown ergibt
  7. 7. C · Studierende mit einer Note über dem Notendurchschnitt
  8. 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.