3.11 Abituraufgaben
Aufgabe 3-16: Abiturprüfung Wirtschaftsinformatik 2010/11
Die Aufgaben beziehen sich auf die MySQL-Datenbank Fortbildung . Laden Sie die SQL-Datei herunter, entpacken diese und führen das enthaltene SQL-Skript firmenwagen.sql zum Beispiel mit der MySQL Workbench (Datei - Skript öffnen ...) aus.
Teilaufgabe 1.2.5 betrifft Inhalte aus Kapitel 3.10.
Fortbildung (Relationales Datenmodell)
Abb. 3-119a: Fortbildung (Relationales Datenmodell)
Abb. 3-120: Aufgabe 1 – 1.2.2 bis 1.2.6
Lösung
Lösung
1.2.2
Variante 1
SQL
SELECT DISTINCT Name, Vorname
FROM Belegung INNER JOIN Teilnehmer ON Belegung.T_Nr=Teilnehmer.T_Nr
ORDER BY Name ASC , Vorname ASC ;
Abb. 3-121: SQL-Anweisung
Variante 2
SQL
SELECT Name, Vorname
FROM Belegung INNER JOIN Teilnehmer ON Belegung.T_Nr=Teilnehmer.T_Nr
GROUP BY Teilnehmer.T_Nr
ORDER BY Name ASC , Vorname ASC ;
Abb. 3-122: SQL-Anweisung
1.2.3
Variante 1
SQL
SELECT S_Nr, Thema, Beginn, Name
FROM Seminar INNER JOIN Leiter ON Seminar.L_Nr=Leiter.L_Nr
WHERE Thema IN ("Küchenplanung", "Kundenwerbung")
AND Beginn BETWEEN "2009-03-01" AND "2009-03-31"
AND Name="Hahn";
Abb. 3-123: SQL-Anweisung
Variante 2
SQL
SELECT S_Nr, Thema, Beginn, Name
FROM Seminar INNER JOIN Leiter ON Seminar.L_Nr=Leiter.L_Nr
WHERE (Thema="Küchenplanung" OR Thema="Kundenwerbung")
AND Beginn BETWEEN "2009-03-01" AND "2009-03-31"
AND Name="Hahn";
Abb. 3-124: SQL-Anweisung
1.2.4
SQL
SELECT Geschlecht, COUNT (*) AS Anzahl
FROM Teilnehmer
GROUP BY Geschlecht;
Abb. 3-125: SQL-Anweisung
1.2.5
SQL
SELECT Name AS Leitername, Thema, Dauer
FROM Seminar INNER JOIN Leiter ON Seminar.L_Nr=Leiter.L_Nr
WHERE Dauer = (SELECT MIN (Dauer) FROM Seminar);
Abb. 3-126: SQL-Anweisung
1.2.6
SQL
SELECT COUNT (*)*Gebuehr AS Umsatz
FROM Belegung INNER JOIN Seminar ON Belegung.S_Nr=Seminar.S_Nr
GROUP BY Belegung.S_Nr;
Abb. 3-127: SQL-Anweisung
Aufgabe 3-17: Abiturprüfung Wirtschaftsinformatik 2011/12
Die Aufgaben beziehen sich auf die MySQL-Datenbank Kursdatenbank . Laden Sie die SQL-Datei herunter, entpacken diese und führen das enthaltene SQL-Skript firmenwagen.sql zum Beispiel mit der MySQL Workbench (Datei - Skript öffnen ...) aus.
Teilaufgabe 1.3.2 betrifft Inhalte aus Kapitel 3.10.
Abb. 3-128: Aufgabe 1 – 1.3
Lösung
Lösung
1.3.1
SQL
SELECT Teilnehmer.TeilnehmerNr, Name, Vorname, PLZ, Ort, Anzahl_besuchte_Kursstunden
FROM Belegungen
INNER JOIN Teilnehmer
ON Belegungen.TeilnehmerNr=Teilnehmer.TeilnehmerNr
INNER JOIN Orte
ON Teilnehmer.OrtNr=Orte.OrtNr
WHERE Anzahl_besuchte_Kursstunden > 5 AND Ort="Villingen-Schwenningen";
Abb. 3-129: SQL-Anweisung
1.3.2
SQL
SELECT kursbezeichnung, kursgebuehr_pro_stunde
FROM KURSE
WHERE kursgebuehr_pro_stunde > (SELECT AVG (kursgebuehr_pro_stunde) FROM kurse);
Abb. 3-130: SQL-Anweisung
1.3.3
SQL
SELECT Teilnehmer.TeilnehmerNr, Name, Vorname,SUM (Anzahl_besuchte_Kursstunden) as Anzahl_Stunden
FROM Belegungen INNER JOIN Teilnehmer ON Belegungen.TeilnehmerNr=Teilnehmer.TeilnehmerNr
GROUP BY Teilnehmer.TeilnehmerNr;
Abb. 3-131: SQL-Anweisung
1.3.4
SQL
SELECT Kursbezeichnung, Name, Vorname, Anzahl_besuchte_Kursstunden, Kursgebuehr_pro_Stunde, Anzahl_besuchte_Kursstunden*Kursgebuehr_pro_Stunde AS Gesamtkursgebühr
FROM Belegungen
INNER JOIN Teilnehmer
ON Belegungen.TeilnehmerNr=Teilnehmer.TeilnehmerNr
INNER JOIN Kurse
ON Belegungen.KursNr=Kurse.KursNr
WHERE Kursbezeichnung = "Word 2010";
Abb. 3-132: SQL-Anweisung
1.3.5
SQL
SELECT Kursbezeichnung, SUM (Kursgebuehr_pro_Stunde*Anzahl_besuchte_Kursstunden) AS erzielter_Umsatz
FROM Belegungen INNER JOIN Kurse ON Belegungen.KursNr=Kurse.KursNr
GROUP BY Kursbezeichnung;
Abb. 3-133: SQL-Anweisung
Aufgabe 3-18: Abiturprüfung Wirtschaftsinformatik 2012/13
Die Aufgaben beziehen sich auf die MySQL-Datenbank mietimmo . Laden Sie die SQL-Datei herunter, entpacken diese und führen das enthaltene SQL-Skript firmenwagen.sql zum Beispiel mit der MySQL Workbench (Datei - Skript öffnen ...) aus.
mietimmo (Relationales Datenmodell)
Abb. 3-133a: mietimmo (Relationales Datenmodell)
Abb. 3-134: Aufgabe 1 – 1.2
Lösung
Lösung
1.2.1
SQL
SELECT bezeichnung, grundmietpreis, art, lage
FROM Immobilien INNER JOIN Kategorien ON Immobilien.kategorieNr=Kategorien.kategorieNr;
Abb. 3-135: SQL-Anweisung
1.2.2
SQL
SELECT name, vorname, strasse, plz, ort, privatkunde
FROM Zuordnung
INNER JOIN Kunden
ON Zuordnung.kundenNr=Kunden.kundenNr
INNER JOIN Adressen
ON Kunden.adressenNr=Adressen.adressenNr
INNER JOIN Plz_Ort
ON Adressen.ortNr=Plz_Ort.ortNr
WHERE privatkunde=TRUE ;
Abb. 3-136: SQL-Anweisung
1.2.3
SQL
SELECT COUNT (*) AS Anzahl_Privatkunden
FROM Zuordnung
WHERE privatkunde=TRUE ;
Abb. 3-138: SQL-Anweisung
1.2.4
SQL
SELECT SUM (grundmietpreis) AS MieteinnahmenProMonat
FROM Immobilien
WHERE kategorieNr=4;
Abb. 3-139: SQL-Anweisung
1.2.5
SQL
SELECT ort, AVG (grundmietpreis) AS DurchschnittsmieteProMonat
FROM Immobilien
INNER JOIN Adressen
ON Immobilien.adressenNr=Adressen.adressenNr
INNER JOIN Plz_Ort
ON Adressen.ortNr=Plz_Ort.ortNr
WHERE ort="Biberach";
Abb. 3-140: SQL-Anweisung
1.2.6
SQL
SELECT privatkunde, COUNT (*) AS Anzahl
FROM Zuordnung
GROUP BY privatkunde;
Abb. 3-141: SQL-Anweisung