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'

Aufgabenstellung: Aufgabe Vorschlag B1 - Aufgabe 3 · Abitur Hessen Informatik LK 2022

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