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

Implementieren Sie auf der Grundlage Ihres Relationenmodells aus Aufgabe 4 SQL-Anweisungen für die folgenden Anforderungen:

5.1

Die Anzahl der Objekte, in deren Beschreibung die Zeichenfolgen 'Netzteil' und '19V' vorkommen, soll ausgegeben werden. [2 BE]

5.2

Es sollen alle Buchungen des Behälters mit der Behälternummer 4 ausgegeben werden, die sich mit dem Zeitraum '2022-05-17' bis '2022-05-25' überschneiden. [2 BE]

5.3

Es sollen die Schülernummern aller Schüler, die Behälter 3 bereits gebucht haben, absteigend sortiert nach dem Enddatum der Buchung ausgegeben werden. [2 BE]

5.4

Der Status des Objektes mit der Beschreibung 'Laptop 15 Zoll' aus der Buchung mit der Buchungsnummer 455 soll auf unvollständig gesetzt werden. Es kann davon ausgegangen werden, dass nur ein Laptop mit dieser Beschreibung in den Behältern der Buchung 455 vorhanden ist. [3 BE]

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

Lösung

Nach den offiziellen Korrekturhinweisen

5.1 Die Anzahl der Objekte, in deren Beschreibung die Zeichenfolgen 'Netzteil' und '19V' vorkommen, soll ausgegeben werden.

Lösung: ```sql SELECT COUNT(*) FROM Objekt WHERE Beschreibung LIKE '%Netzteil%' AND Beschreibung LIKE '%19V%' ```

5.2 Es sollen alle Buchungen des Behälters mit der Behälternummer 4 ausgegeben werden, die sich mit dem Zeitraum '2022-05-17' bis '2022-05-25' überschneiden.

Lösung: ```sql SELECT Buchung.* FROM Buchung NATURAL JOIN belegt WHERE Behälternummer = 4 AND Anfangsdatum < '2022-05-26' AND Enddatum > '2022-05-16' ```

5.3 Es sollen die Schülernummern aller Schüler, die Behälter 3 bereits gebucht haben, absteigend sortiert nach dem Enddatum der Buchung ausgegeben werden.

Lösung: ```sql SELECT DISTINCT Schülernummer FROM Buchung NATURAL JOIN belegt WHERE Behälternummer = 3 ORDER BY Enddatum DESC ```

5.4 Der Status des Objektes mit der Beschreibung 'Laptop 15 Zoll' aus der Buchung mit der Buchungsnummer 455 soll auf unvollständig gesetzt werden. Es kann davon ausgegangen werden, dass nur ein Laptop mit dieser Beschreibung in den Behältern der Buchung 455 vorhanden ist.

Lösung: ```sql UPDATE Objekt SET Status = 'unvollständig' WHERE ID = (SELECT ID FROM Objekt NATURAL JOIN Behälter NATURAL JOIN belegt WHERE Buchungsnummer = 455 AND Beschreibung = 'Laptop 15 Zoll') ```

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

Mehr Aufgaben zu SQL-Abfragen und -Anweisungen