MINT üben

Datenbanken im Abitur

Dreißig Übungen zu Schlüsseln, ER-Modell, Anomalien und SQL-Abfragen: lesen, ausrechnen, prüfen und selbst formulieren.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Dreißig Übungen in gemischter Reihenfolge — du klickst, ziehst, ordnest, rechnest und knobelst. Jede Übung gibt dir sofort eine Rückmeldung, und zu jeder Aufgabe gibt es zwei gestufte Tipps: Der erste zeigt die Richtung, der zweite den entscheidenden Schritt. Die Chips zeigen das Anforderungsniveau: AFB I heißt wiedergeben und direkt anwenden, AFB II selbst entscheiden und verknüpfen, AFB III begründen, beurteilen oder eine Falle durchschauen. Aufgaben mit dem Chip Mix verbinden Wissen aus früheren Unterkapiteln, bei Trick steckt eine Falle drin. Fährst du über ein unterstrichenes Arbeitswort, siehst du, was es genau von dir verlangt.

A1
Termine auf dem Zeitstrahl
AFB I

Eine Tierarztpraxis führt die Tabelle Impftermin(ImpfNr, Tier, Tag); Tag ist der Tag des Monats.

Tabelle Impftermin
ImpfNrTierTag
1Rex21
2Luna6
3Bruno14
4Kira27

Zeichne die vier Datensätze auf dem Zeitstrahl ein: Lege jede Karte auf den Wert ihres Attributs Tag (eine Abweichung von einem Tag ist erlaubt). Von oben nach unten liest du dann die Reihenfolge ab, die ORDER BY Tag liefert.

Ziehe jede Karte am Griff ⠿ an die passende Stelle des Zeitstrahls — die Marke zeigt dir beim Ziehen, wo sie einrastet. Ohne Ziehen: Karte antippen, dann auf den Zeitstrahl tippen. Tastatur: Enter nimmt die Karte, ←/→ (oder ↑/↓) verschiebt (mit Shift in großen Schritten), Enter setzt.
Jede Karte gehört zum Wert im Attribut Tag: Luna zu 6, Bruno zu 14, Rex zu 21 und Kira zu 27. Von oben nach unten ergibt das die aufsteigende Reihenfolge von ORDER BY Tag: Luna, Bruno, Rex, Kira.
Lies in der Tabelle für jedes Tier den Wert in der Spalte Tag ab und suche die Marke auf dem Zeitstrahl.
Die Zeilen der Tabelle stehen nicht nach Tag geordnet. Auf dem Zeitstrahl wächst der Wert von oben nach unten, genau wie bei ORDER BY Tag ohne DESC.
A2
Die Bärenpfleger
AFB II

Ein Zoo speichert Pfleger(PNr, Name) und Tier(TNr, Art, ↑PNr). Gesucht sind die Namen der Pfleger, die mindestens ein Tier betreuen, dessen Art auf „bär“ endet. Jeder Name soll nur einmal erscheinen, alphabetisch sortiert. Der Lösungsversuch enthält drei Fehler. Untersuche jede Zeile: Klicke die fehlerhaften Zeilen an und trage ein, wie sie richtig lauten muss.

Tabelle Tier
TNrArtPNr
1Eisbär1
2Braunbär1
3Elefant2
4Brillenbär3
5Giraffe4
6Eisbär3
Klicke die Zeilen an, die du für falsch hältst — dabei klappt ein Feld für die Korrektur auf. Geprüft wird beides: die Auswahl und die Korrekturen.
Ohne DISTINCT erschiene Aydin und Chen jeweils zweimal (vier Zeilen statt zwei). Die Verbundbedingung vergleicht den Fremdschlüssel Tier.PNr mit dem Primärschlüssel Pfleger.PNr, nicht mit TNr. Das Zeichen % wirkt nur mit LIKE; mit = würde nach dem Text „%bär“ gesucht.
Gehe Zeile für Zeile vor: Was liefert die Abfrage in der Spalte Name, wenn ein Pfleger mehrere Bären hat? Welche Spalten vergleicht der Verbund?
Drei Zeilen sind falsch: SELECT (Doppelungen), die Verbundbedingung (TNr ist kein Fremdschlüssel) und die Zeile mit dem Muster (dafür braucht man LIKE).
A3
Wohin gehört die Bedingung?
AFB I

Ordne jede Bedingung der passenden Klausel zu.

Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1WHERE
2HAVING
3ORDER BY
Die Verbundbedingung a.KNr = k.KNr steht im WHERE-Teil, weil der Verbund in dieser Notation über FROM und WHERE entsteht.
Frage: Enthält die Bedingung eine Aggregatfunktion?Warum? Aggregate gibt es erst nach dem Gruppieren.
Hilfe: Sortierangaben mit ASC/DESC gehören hinter ORDER BY.