Aufgabe 3 - SQL-Abfragen · Abitur NRW Informatik GK · Haupttermin 2022

Thema: SQL-Abfragen · Aus der Prüfung GK · Haupttermin (2022)

Aufgabenstellung

Aufgabenstellung:

Weil Gäste Restaurants meist subjektiv beurteilen, plant der Projektkurs „Gastro-Informatik“ ein Bewertungssystem, in dem eine fachkundige Gutachterin bzw. ein fachkundiger Gutachter die Qualität von Speisen und Service sowie den Hygienezustand auf einer Skala von 0 bis 10 einstuft; 10 ist dabei die beste Note.

Die dabei entstehenden Daten sollen in einer relationalen Datenbank verwaltet werden, die auf der folgenden Teilmodellierung beruht:

Das Datenbankschema in Abbildung 2 überführt die Teilmodellierung aus Abbildung 1 in eine relationale Datenbank und wird im Weiteren genauer untersucht. Die Anlage enthält Beispieldaten zu diesem Schema.

Anlage:

Ausschnitt aus den Beispieldaten zum Datenbankschema aus Abbildung 2

Teilaufgabe b)

Mithilfe der im Anhang abgebildeten Datenbank sollen die folgenden Abfragen formuliert werden:

i.

Ermittelt werden sollen die Namen sämtlicher Restaurants in Dortmund. Die Ausgabe soll absteigend nach dem Restaurantnamen geordnet sein.

ii.

Ermittelt werden sollen Vor- und Nachname derjenigen Gutachterinnen und Gutachter, die bereits ein Restaurant namens „Meisterpizza“ bewertet haben.

iii.

Ermittelt werden sollen die Restaurants, für die bisher keine Bewertung vorliegt. Auszugeben sind dabei Restaurantname, PLZ und Ortsname.

Teilaufgabe c)

Gegeben ist die folgende SQL-Anweisung:

1 SELECT Temp.Nachname, Temp.Vorname

2 FROM (

3 SELECT Gutachter.Nachname, Gutachter.Vorname,

4 COUNT(bewertet.RestaurantID) AS a

5 FROM Gutachter

6 INNER JOIN bewertet

7 ON Gutachter.ID = bewertet.GutachterID

8 GROUP BY bewertet.GutachterID

9) AS Temp

10 WHERE Temp.a > 1

c.1

Analysieren und erläutern Sie zuerst die Unterabfrage (Zeilen 3 bis 8), danach die gesamte SQL-Anweisung:

c.2

Erläutern Sie bezogen auf den Sachkontext, welche Information die gesamte SQL-Anweisung liefert:

Aufgabenstellung: Aufgabe 3 - SQL-Abfragen · Abitur NRW Informatik GK · Haupttermin 2022

Lösung

Nach den offiziellen Korrekturhinweisen

b) i. Ermittelt werden sollen die Namen sämtlicher Restaurants in Dortmund. Die Ausgabe soll absteigend nach dem Restaurantnamen geordnet sein.

Lösung: ```sql SELECT Name FROM Restaurant WHERE Ortsname = "Dortmund" ORDER BY Name DESC ```

b) ii. Ermittelt werden sollen Vor- und Nachname derjenigen Gutachterinnen und Gutachter, die bereits ein Restaurant namens „Meisterpizza“ bewertet haben.

Lösung: ```sql SELECT Gutachter.Vorname, Gutachter.Nachname FROM Gutachter INNER JOIN bewertet ON Gutachter.ID = bewertet.GutachterID INNER JOIN Restaurant ON bewertet.RestaurantID = Restaurant.ID WHERE Restaurant.Name = "Meisterpizza" ```

b) iii. Ermittelt werden sollen die Restaurants, für die bisher keine Bewertung vorliegt. Auszugeben sind dabei Restaurantname, PLZ und Ortsname.

Lösung: ```sql SELECT Restaurant.Name, Restaurant.PLZ, Restaurant.Ortsname FROM Restaurant WHERE Restaurant.ID NOT IN ( SELECT DISTINCT bewertet.RestaurantID FROM bewertet ) ```

c) Analysieren und erläutern Sie zuerst die Unterabfrage (Zeilen 3 bis 8), danach die gesamte SQL-Anweisung.

Lösung: Die Unterabfrage verknüpft mit einem INNER JOIN die Relationen Gutachter und bewertet über die ID der Gutachterinnen und Gutachter (Zeilen 5 bis 7). Zudem werden die Datensätze nach GutachterID gruppiert (Zeile 8), um für jeden Gutachter die Anzahl der bewerteten Restaurants mit der Aggregatfunktion COUNT zu ermitteln (Zeile 4). Diese Anzahl wird mit a bezeichnet und zusammen mit Vor- und Nachnamen zurückgeliefert (Zeilen 3 bis 4). Die gesamte SQL-Anweisung selektiert aus der mit Temp bezeichneten Ergebnisrelation der Unterabfrage diejenigen Datensätze, bei denen die Anzahl der bewerteten Restaurants größer als 1 ist (Zeilen 9 bis 10). Von diesen werden Nachname und Vorname ausgegeben (Zeile 1).

c) Erläutern Sie bezogen auf den Sachkontext, welche Information die gesamte SQL-Anweisung liefert.

Lösung: Gesucht werden die Vor- und Nachnamen derjenigen Gutachterinnen und Gutachter, die bereits mindestens zwei Restaurants bewertet haben.

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 3 - SQL-Abfragen · LK · Nachtermin 2023 · Aufgabe 3 - SQL-Abfragen · GK · Nachtermin 2022 ›

Mehr Aufgaben zu SQL-Abfragen