Aufgabe Vorschlag A - 1.3 · Abitur Hessen Praktische Informatik LK 2022
Thema: SQL-Anweisungen und Transaktionen · Aus der Prüfung LK (2022)
Aufgabenstellung
Material 1
Entity-Relationship-Modell
Hinweise: Die Herkunft eines Lebewesens speichert sein Ursprungsgebiet (z. B. Südamerika, Kamerun). Die Wuchshöhe der Pflanzenarten und die Länge der Fischarten wird in Zentimeter angegeben. Der Lichtbedarf von Pflanzenarten ist gering, mittel oder hoch. Die Gruppengröße bei Fischen erfasst die optimale Anzahl von Individuen einer Art in einem Aquarium.
Das Lieferdatum wird erst nach erfolgter Lieferung der Bestellung eingetragen.
1.3 Einige Daten der Datenbank sollen ergänzt, geändert bzw. ausgewertet werden.
1.3.1
Der neue Kunde Hans Hecht aus 89075 Ulm, Donautor 1, Telefon 0177 1234567 erhält die Kundennummer 7654 und bestellt am 02.05.2022 einen Aquariumbelüfter (artNr 277). Entwickeln Sie die SQL-Anweisungen, um die erforderlichen Datensätze einzufügen und den Bestand des Artikels zu aktualisieren.
Hinweis: Die Bestellnummer einer Bestellung wird automatisch vergeben (AUTO_INCREMENT).
1.3.2
Formulieren Sie eine SQL-Anweisung, die die Bestellnummern und Kundendaten der Bestellungen, die noch nicht geliefert wurden und in den PLZ-Bereich 12 versendet werden sollen, ausgibt.
1.3.3
Die Gesamtumsätze von Fischen der Bestellungen mit dem Bestelldatum im 1. Quartal 2022 sollen nach Herkunft gruppiert ausgegeben werden. Implementieren Sie eine entsprechende SQL-Anweisung.

Lösung
Nach den offiziellen Korrekturhinweisen
1.3.1 Entwickeln Sie die SQL-Anweisungen, um die erforderlichen Datensätze einzufügen und den Bestand des Artikels zu aktualisieren.
Lösung: ```sql INSERT INTO Kunde VALUES (7654, 'Hans', 'Hecht', '89075', 'Ulm', 'Donautor 1', '0177 1234567'); INSERT INTO Bestellung (bestellDatum, kNr) VALUES ('2022-05-02', 7654); INSERT INTO Position VALUES ((SELECT bestellNr FROM Bestellung WHERE bestellDatum = '2022-05-02' AND kNr = 7654), 277, 1); UPDATE Artikel SET bestand = bestand - 1 WHERE artNr = 277; ```
1.3.2 Formulieren Sie eine SQL-Anweisung, die die Bestellnummern und Kundendaten der Bestellungen, die noch nicht geliefert wurden und in den PLZ-Bereich 12 versendet werden sollen, ausgibt.
Lösung: ```sql SELECT bestellNr, k.* FROM Bestellung b JOIN Kunde k ON (b.kNr=k.kNr) WHERE b.lieferDatum IS null AND k.plz LIKE '12%'; ```
1.3.3 Die Gesamtumsätze von Fischen der Bestellungen mit dem Bestelldatum im 1. Quartal 2022 sollen nach Herkunft gruppiert ausgegeben werden. Implementieren Sie eine entsprechende SQL-Anweisung.
Lösung: ```sql SELECT l.herkunft, SUM(a.preis * p.anzahl) AS Gesamtumsatz FROM Bestellung b JOIN Position p ON (b.bestellNr = p.bestellNr) JOIN Artikel a ON (p.artNr = a.artNr) JOIN Lebewesen l ON (a.artNr = l.artNr) JOIN Fischart f ON (l.artNr = f.artNr) WHERE b.bestellDatum BETWEEN '2022-01-01' AND '2022-03-31' GROUP BY l.herkunft; ```
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 B - 2.2 · LK 2022 ›