MINT lernen

Abituraufgaben: Aggregieren und Gruppieren

Zwei Abituraufgaben zu Aggregatfunktionen, GROUP BY und HAVING.

Dein Fortschritt:
0 / 0 Aufgaben
1

Auswertungen in der Musikschule

AFB I–II

Eine Musikschule speichert ihren Einzelunterricht (Material 1). Minuten ist die Dauer pro Woche, Gebuehr der Monatsbeitrag in Euro.

Material 1: Relationenschema
LehrkraftLNrNameInstrumentUnterrichtUNr↑LNr↑SNrWochentagMinutenGebuehrSchuelerSNrNameJahrgang
  1. Erstellen SQL-Abfragen für: (1) die Anzahl aller Unterrichte; (2) die durchschnittliche Monatsgebühr; (3) die längste Unterrichtsdauer am Montag. 5 BE
  2. Erläutern Sie, was die folgende Abfrage ausgibt:
    SELECT LNr, COUNT(*) AS Anzahl, SUM(Minuten)
    FROM Unterricht
    GROUP BY LNr
    HAVING COUNT(*) >= 5;
    4 BE

Insgesamt 9 BE

Hinweise

Hinweis zu Aufgabe a)
Eine Aggregatfunktion je Abfrage; (3) braucht zusätzlich WHERE.
Hinweis zu Aufgabe b)
Erst gruppieren, dann Gruppen filtern.

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)
SELECT COUNT(*) FROM Unterricht;
SELECT AVG(Gebuehr) FROM Unterricht;
SELECT MAX(Minuten) FROM Unterricht WHERE Wochentag = 'Montag';
Erwartungshorizont zu Aufgabe b)

Für jede Lehrkraft mit mindestens fünf Unterrichten eine Zeile mit ihrer Nummer, der Zahl ihrer Unterrichte und der wöchentlichen Gesamtdauer in Minuten. Lehrkräfte mit weniger als fünf Unterrichten fehlen.

2

Welches Instrument lohnt sich?

AFB II–III

Die Schulleitung überlegt, weitere Lehrkräfte einzustellen, und möchte die Einnahmen je Instrument vergleichen.

  1. Entwickeln Sie eine Abfrage, die für jedes Instrument die Summe der Monatsgebühren ausgibt — absteigend sortiert und nur für Instrumente mit Einnahmen über 1000 €. 6 BE
  2. Ein Kollege setzt die Bedingung SUM(Gebuehr) > 1000 in die WHERE-Klausel. Begründen Sie, warum das nicht funktioniert. 3 BE
  3. Bewerten Sie, ob die Summe der Monatsgebühren je Instrument als alleinige Grundlage für die Einstellungsentscheidung taugt. 4 BE

Insgesamt 13 BE

Hinweise

Hinweis zu Aufgabe a)
Instrument steht in Lehrkraft, Gebühr in Unterricht → Verbund, dann gruppieren.
Hinweis zu Aufgabe b)
Wann wird WHERE ausgewertet, wann entstehen die Summen?
Hinweis zu Aufgabe c)
Welche anderen Größen wären wichtig? Was sagt die Summe nicht?

Erwartungshorizont

Erwartungshorizont zu Aufgabe a)
SELECT Lehrkraft.Instrument, SUM(Unterricht.Gebuehr) AS Einnahmen
FROM Lehrkraft, Unterricht
WHERE Lehrkraft.LNr = Unterricht.LNr
GROUP BY Lehrkraft.Instrument
HAVING SUM(Unterricht.Gebuehr) > 1000
ORDER BY Einnahmen DESC;

Verbund 1 BE, GROUP BY 2 BE, HAVING 2 BE, Sortierung 1 BE.

Erwartungshorizont zu Aufgabe b)

WHERE wird vor dem Gruppieren ausgewertet und prüft einzelne Zeilen. Summen je Instrument existieren erst nach GROUP BY. Bedingungen an Aggregate gehören deshalb in HAVING.

Erwartungshorizont zu Aufgabe c)

Die Summe zeigt nur heutige Einnahmen. Sie berücksichtigt nicht Wartelisten (Nachfrage ohne Unterricht), Auslastung der vorhandenen Lehrkräfte (SUM(Minuten) je Lehrkraft), Kosten oder pädagogische Ziele. Erwartet wird ein Urteil mit mindestens zwei Kriterien.