Aufgabe Vorschlag B1 - Aufgabe 3 · Abitur Hessen Informatik LK 2022
Thema: SQL-Abfragen und -Anweisungen · Aus der Prüfung LK (2022)
Aufgabenstellung
Fitnessstudio
In einer Fitnessstudio-Datenbank werden alle relevanten Daten der Kunden, der Trainer und der vorhandenen Geräte verwaltet. Die im Material dargestellten Tabellen geben einen Ausschnitt dieser Datenbank wieder.
Material: Tabellen mit Ausschnitt aus der Fitnessstudio-Datenbank
Kunde
Kundennummer · Vorname · Nachname · Adresse · Geburtsdatum · Trainer · Tarif
K21543 · Jörn · Büchner · Finkenweg 34
55131 Mainz · 12.04.1992 · 106, 712 · T1
K65342 · Hans · Müller · Goethestraße 7
65187 Wiesbaden · 25.11.1965 · 231 · T1
K89873 · Agathe · Bauer · Goethestraße 7
65187 Wiesbaden · 17.06.1968 · 231 · T3
K76105 · Bruno · Meyer · Am Ufer 5
55128 Mainz · 06.08.1957 · · T6
K23704 · Katharina · Schmidt · Bienenweg 26
60306 Frankfurt · 28.02.1993 · 106, 540 · T4
Trainer
ID · Vorname · Nachname · Spezialgebiet
106 · Johannes · Müller · Bodybuilding
712 · Lena · Hofmann · Cardio
540 · Thomas · Schulze · Physio
231 · Annemarie · Zimmer · Bodybuilding
Gerät
Gerätenummer · Bezeichnung · Muskelgruppe · Maximalgewicht · Hersteller · Firmensitz
1 · Lastzug · Rücken · 120 · Superfit · München
2 · Lastzug · Rücken · 100 · Vario · Köln
3 · Adduktion · Oberschenkel · 80 · Vario · Köln
4 · Brustpresse · Brust · 120 · PumpX · Hamburg
5 · Butterfly · Brust · 100 · Superfit · München
6 · Butterfly reverse · Rücken · 100 · PumpX · Hamburg
7 · Adduktion · Oberschenkel · 80 · Vario · Köln
trainiert_an
Kundennummer · Gerätenummer · Gewicht
K21543 · 1 · 45
K21543 · 3 · 40
K21543 · 5 · 35
K65342 · 1 · 40
K65342 · 2 · 80
K65342 · 5 · 40
3 Erläutern Sie den Aufbau und die inhaltliche Bedeutung der folgenden SQL-Anweisungen:
3.1
SELECT Kunde.Kundennummer, Kunde.Nachname, Kunde.Vorname
FROM Kunde, betreut, Trainer, Mitarbeiter
WHERE Kunde.Kundennummer = betreut.Kundennummer
AND Trainer.ID = betreut.ID
AND Trainer.ID = Mitarbeiter.ID
AND Mitarbeiter.Vorname = 'Thomas'
AND Mitarbeiter.Nachname = 'Schulze'
3.2
SELECT DISTINCT Bezeichnung
FROM Gerät INNER JOIN trainiert_an
ON Gerät.Gerätenummer = trainiert_an.Gerätenummer
WHERE Gewicht > 99
3.3
SELECT COUNT(Kunde.Kundennummer), Trainer.ID, Mitarbeiter.Nachname, Mitarbeiter.Vorname
FROM Kunde INNER JOIN (betreut NATURAL JOIN (
Trainer NATURAL JOIN Mitarbeiter)) ON
Kunde.Kundennummer = betreut.Kundennummer
WHERE Spezialgebiet = 'Bodybuilding'
GROUP BY Trainer.ID, Mitarbeiter.Nachname, Mitarbeiter.Vorname
HAVING MIN(Geburtsdatum) < '1952-01-01'

Lösung
Nach den offiziellen Korrekturhinweisen
3.1 Erläutern Sie den Aufbau und die inhaltliche Bedeutung der SQL-Anweisung.
Lösung: Aufbau: Die Relationen Kunde, betreut, Trainer und Mitarbeiter werden gejoint, indem zuerst das Kreuzprodukt der vier Relationen gebildet und anschließend anhand gleicher Werte in den Primärschlüssel- bzw. Fremdschlüsselattributen selektiert wird. Zusätzlich werden nur die Datensätze selektiert, in denen der Vorname 'Thomas' und der Nachname 'Schulze' ist. Projiziert wird auf die Kundennummer sowie den Vor- und Nachnamen des Kunden. Inhaltliche Bedeutung: Die SQL-Anweisung liefert die Kundennummern sowie die Vor- und Nachnamen aller Kunden, die vom Trainer Thomas Schulze betreut werden.
3.2 Erläutern Sie den Aufbau und die inhaltliche Bedeutung der SQL-Anweisung.
Lösung: Aufbau: Die Relationen Gerät und trainiert_an werden mit Hilfe eines Inner Joins über das gemeinsame Attribut Gerätenummer verbunden. Anschließend werden die Zeilen selektiert, deren Wert im Attribut Gewicht den Wert 99 übersteigt. Projiziert wird auf das Attribut Bezeichnung, wobei Dubletten eliminiert werden. Inhaltliche Bedeutung: Die SQL-Anweisung liefert die Bezeichnungen aller Geräte, an denen Kunden mit einem Gewicht größer als 99 kg trainieren.
3.3 Erläutern Sie den Aufbau und die inhaltliche Bedeutung der SQL-Anweisung.
Lösung: Aufbau: Die Relationen betreut, Trainer und Mitarbeiter werden zuerst mit einem Natural Join und anschließend mit der Relation Kunde über das gemeinsame Attribut Kundennummer verbunden. Es werden alle Datensätze selektiert, die im Attribut Spezialgebiet den Wert 'Bodybuilding' haben. Die Datensätze werden nach dem Wert im Attribut ID, dem Nachnamen und dem Vornamen des Trainers gruppiert. Mit der Having-Klausel werden nun nur die Gruppen ausgewählt, deren kleinster Wert im Attribut Geburtsdatum vor dem 01.01.1952 liegt. Projiziert wird auf die Anzahl der Datensätze innerhalb dieser Gruppe sowie die ID und den Vor- und Nachnamen des zugehörigen Trainers. Inhaltliche Bedeutung: Die SQL-Anweisung liefert die Anzahl der Kunden aller Trainer mit dem Spezialgebiet 'Bodybuilding' sowie ID, Vor- und Nachname dieser Trainer, sofern sie mindestens einen Kunden betreuen, der vor dem 01.01.1952 geboren ist.
Die ausführliche Erklärung Schritt für Schritt (mit KI) gibt es mit Premium. Premium
Löse sie direkt hier: automatische Korrektur, Hinweise und Lösung Schritt für Schritt.
‹ Aufgabe Vorschlag B1 · GK 2022 · Aufgabe Vorschlag B1 - Aufgabe 4 · LK 2022 ›
Mehr Aufgaben zu SQL-Abfragen und -Anweisungen
- Aufgabe Vorschlag B1 · GK 2022
- Aufgabe Vorschlag B1 - Aufgabe 4 · LK 2022
- Aufgabe Vorschlag B1 - Aufgabe 5 · LK 2022
- Aufgabe Vorschlag B2 - Aufgabe 5 · LK 2022
- Aufgabe Vorschlag B2 - Aufgabe 6 · LK 2022
- Aufgabe Vorschlag B2 - Aufgabe 7 · LK 2022
- Aufgabe Vorschlag B1 - Aufgabe 4 · GK 2021
- Aufgabe Vorschlag B2 - Aufgabe 4 · GK 2021
- Aufgabe Vorschlag B2 - Aufgabe 5 · GK 2021
- Aufgabe Vorschlag B1 - Aufgabe 3 · LK 2021