Aufgabe Vorschlag B2 - Aufgabe 6 · Abitur Hessen Informatik LK 2022

Thema: SQL-Abfragen und -Anweisungen · Aus der Prüfung LK (2022)

Aufgabenstellung

Endgeräte-Verleih

Eine Schülergruppe hat ein computergesteuertes Regalsystem mit Behältern entwickelt, das die Ausleihe von Endgeräten an Schülerinnen und Schüler kontaktlos, sicher und kurzfristig möglich machen soll.

Der Verschluss jedes Behälters im Regal kann elektronisch gesteuert geöffnet werden, so dass man dem Behälter Objekte entnehmen oder sie zurücklegen kann. Ein Computer kontrolliert den Zugriff und gibt einen oder mehrere Behälter frei, wenn die Schülerin oder der Schüler innerhalb des gebuchten Zeitraums den korrekten Einmal-Code eingibt.

Die Schülerinnen und Schüler nutzen zur Buchung eine App, die wie der Computer des Regalsystems Zugriff auf eine Relationale Datenbank hat. In der Datenbank sollen die folgenden Informationen berücksichtigt werden:

Jeder Behälter hat eine eindeutige Behälternummer, eine bestimmte Lage im Regal und kann mehrere Objekte enthalten, die am Ende der Nutzung alle gemeinsam zurückgegeben werden müssen. Die Objekte sind jeweils einem Behälter fest zugeordnet.

Jedes Objekt, das sich in einem Behälter befinden kann, hat eine ID, eine Beschreibung und einen Status (ok, defekt, unvollständig).

Jeder Schüler hat eine eindeutige Schülernummer, einen Vor- und einen Nachnamen, eine Klassenbezeichnung sowie ein Passwort.

Jeder Schüler darf die Buchung von einem oder mehreren Behältern für einen beliebigen Zeitraum, von dem das Anfangsdatum und das Enddatum festgehalten werden, veranlassen, wenn in diesem Zeitraum bisher keine anderen Buchungen für diese Behälter vorliegen. Die Buchungen sind durch eine eindeutige Buchungsnummer unterscheidbar.

Zu jeder Buchung zeigt die App einen nach festem Schema zufällig generierten Code an, der am Regal in der Schule eingegeben werden muss, um den oder die Behälter öffnen zu können.

Es wird außerdem im Attribut Öffnung dokumentiert, wann die Öffnung erfolgt ist. Gleichzeitig gebuchte Behälter werden auch zur gleichen Zeit geöffnet.

Material 1

Ausschnitt der Relation Behälterbuchung

Behälternummer

Anfangsdatum

Enddatum

ObjektID

Code

1

2022-03-14

2022-03-19

65

Lm432L

2

2022-03-20

2022-03-25

134

Xr435K

3

2022-03-14

2022-03-19

132

Az420H

3

2022-03-22

2022-03-25

132

Ur231J

3

2022-03-14

2022-03-19

298

Az420H

3

2022-03-22

2022-03-25

298

Ur231J

Material 2

Ausschnitt eines ER-Diagramms

Erläutern Sie den Aufbau und die inhaltliche Bedeutung der folgenden SQL-Anweisung:

SELECT Vorname, Nachname, Klassenbezeichnung, COUNT(Buchungsnummer) AS Buchungsanzahl

FROM Schüler NATURAL JOIN Buchung

WHERE Öffnung IS NULL

AND Enddatum < '2022-04-01'

GROUP BY Vorname, Nachname, Klassenbezeichnung

HAVING Buchungsanzahl > 1

ORDER BY Buchungsanzahl DESC

Aufgabenstellung: Aufgabe Vorschlag B2 - Aufgabe 6 · Abitur Hessen Informatik LK 2022

Lösung

Nach den offiziellen Korrekturhinweisen

Erläutern Sie den Aufbau und die inhaltliche Bedeutung der folgenden SQL-Anweisung

Lösung: Aufbau: - Die Relationen *Schüler* und *Buchung* werden über die gemeinsamen Attribute gejoint (NATURAL JOIN). - Mit WHERE werden Tupel ausgewählt, bei denen das Attribut *Öffnung* nicht belegt ist (IS NULL) und das *Enddatum* des Buchungszeitraums vor dem 1. April 2022 liegt. - Die Datensätze werden nach den Attributen *Vorname*, *Nachname* und *Klassenbezeichnung* gruppiert (GROUP BY). - Für jeden Schüler wird mit der Aggregatfunktion COUNT die Anzahl der ermittelten Buchungen als *Buchungsanzahl* ausgegeben. - Mit HAVING werden nur Gruppen ausgewählt, für die mindestens der Wert 2 als Buchungsanzahl ermittelt wurde (Buchungsanzahl > 1). - Mit ORDER BY werden die Ergebnisdatensätze absteigend nach der Buchungsanzahl sortiert (DESC). Inhaltliche Bedeutung: Die Anweisung ermittelt Vorname, Nachname und Klassenbezeichnung der Schüler, die mindestens zweimal eine Buchung getätigt haben, die vor dem April 2022 endete und zu der keine Öffnung stattfand, zusammen mit der Anzahl dieser Buchungen. Die Ausgabe erfolgt absteigend sortiert nach dieser Anzahl.

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 B2 - Aufgabe 5 · LK 2022 · Aufgabe Vorschlag B2 - Aufgabe 7 · LK 2022 ›

Mehr Aufgaben zu SQL-Abfragen und -Anweisungen