MINT lernen

Übung AFB II

Zehn Aufgaben zum Anwenden und Verknüpfen — Verbund, Gruppierung, Überführung, Anomalien und Datenschutz.

Dein Fortschritt:
0 / 0 Aufgaben
1

Aufgabenblock — AFB II

Zehn Aufgaben zum Anwenden und Verknüpfen — Verbund, Gruppierung, Überführung, Anomalien und Datenschutz am selben Material.

Material für alle Aufgaben: Radsportliga der Schulen

Eine Liga verwaltet Teams, Fahrerinnen und Fahrer sowie Rennen. Platz und Fahrzeit (Minuten) werden je Start gespeichert; wer aufgibt, erhält NULL. Fiona fährt (noch) für kein Team.

ER-Diagramm
1nnmTeamFahrerRennenfaehrtFuerstartetBeiTeamNrNameStadtFahrerNrNameJahrgangPlatzMinutenRennenNrTitelDatumKm

Team(TeamNr, Name, Stadt)
Fahrer(FahrerNr, Name, Jahrgang, TeamNr)
Rennen(RennenNr, Titel, Datum, Km)
Start(FahrerNr, RennenNr, Platz, Minuten)

Team
TeamNrNameStadt
T1NordwindKiel
T2SpeicheHannover
T3KetteBremen
Fahrer
FahrerNrNameJahrgangTeamNr
F1Anna2007T1
F2Bela2008T1
F3Cleo2007T2
F4Deniz2006T2
F5Emre2008T3
F6Fiona2007NULL
Rennen
RennenNrTitelDatumKm
R1Frühjahrsklassiker12.04.80
R2Bergpreis03.05.45
R3Stadtkriterium21.06.30
Start
FahrerNrRennenNrPlatzMinuten
F1R12118
F2R15125
F3R11115
F4R1NULLNULL
F1R2396
F3R2190
F5R2293
F2R3142
F4R3243
F6R3345
A1
Fahrer mit Team
AFB II

Ermitteln Sie die Zeilenzahl von

SELECT Fahrer.Name, Team.Name
FROM Fahrer, Team
WHERE Fahrer.TeamNr = Team.TeamNr;
Welcher Fahrer hat keinen passenden Partner?
NULL erfüllt die Verbundbedingung nicht.
Lösung anzeigen
Alle außer Fiona (TeamNr NULL) = 5 Zeilen
A2
Große Starterfelder
AFB II

Bestimmen Sie die Zeilenzahl von

SELECT RennenNr, COUNT(*)
FROM Start
GROUP BY RennenNr
HAVING COUNT(*) > 3;
Wie viele Starts hat jedes Rennen?
R1: 4, R2: 3, R3: 3.
Lösung anzeigen
Nur R1 hat mehr als 3 Starts = 1 Zeile
A3
Mittlere Fahrzeit
AFB II

Berechnen Sie SELECT AVG(Minuten) FROM Start WHERE RennenNr = 'R2';

min
Welche Starts gehören zu R2?
Anna 96, Cleo 90, Emre 93.
Lösung anzeigen
(96 + 90 + 93) : 3 = 93 min
A4
Warum eine Tabelle Start?
AFB II

Begründen Sie, warum der Beziehungstyp startetBei zu einer eigenen Tabelle wird und warum Platz und Minuten dort stehen.

Welche Kardinalität hat startetBei?
n:m → eigene Tabelle; Platz hängt von Fahrer und Rennen ab.
Musterlösung anzeigen (zählt als erledigt)

startetBei ist eine n:m-Beziehung: Ein Fahrer startet bei vielen Rennen, bei einem Rennen starten viele Fahrer. Ein einzelner Fremdschlüssel könnte nur einen Partner speichern, deshalb entsteht die Tabelle Start mit den Fremdschlüsseln ↑FahrerNr und ↑RennenNr als zusammengesetztem Primärschlüssel. Platz und Minuten gehören zu genau einem Start (Paar aus Fahrer und Rennen) und wandern als Beziehungsattribute mit.

A5
Eine Tabelle für alles
AFB II

Statt des Schemas würde eine einzige Tabelle Ergebnis(FahrerNr, Name, Teamname, RennenNr, Platz, Minuten) mit einer Zeile je Start verwendet. Das Team Speiche benennt sich um. Ermitteln Sie, in wie vielen Zeilen der Teamname geändert werden muss.

Welche Fahrer gehören zu Speiche?
Cleo und Deniz — wie viele Starts haben sie?
Lösung anzeigen
Cleo 2 Starts, Deniz 2 Starts = 4 Zeilen — im Schema wäre es 1 Zelle in Team.
A6
Siege von Nordwind
AFB II

Bestimmen Sie mithilfe eines Verbunds von Start, Fahrer und Team, wie viele Rennen Fahrer des Teams Nordwind gewonnen haben.

Welche Fahrer gehören zu Nordwind?
Anna und Bela — wer hat Platz 1?
Lösung anzeigen
Bela gewinnt R3; Annas beste Platzierung ist 2 = 1 Sieg
A7
Annas Kilometer
AFB II

Analysieren Sie die Abfrage und geben Sie ihr Ergebnis an:

SELECT SUM(Km)
FROM Start, Rennen
WHERE Start.RennenNr = Rennen.RennenNr
  AND FahrerNr = 'F1';
km
In welchen Rennen ist Anna gestartet?
R1 (80 km) und R2 (45 km).
Lösung anzeigen
80 + 45 = 125 km
A8
Teamwechsel in der Saison
AFB II

Fahrer sollen während der Saison das Team wechseln können; für jede Zugehörigkeit wird der Beginn gespeichert. Verändern Sie ER-Modell und Schema entsprechend.

Wie viele Teams hat ein Fahrer im Laufe der Saison?
Aus 1:n wird n:m mit dem Attribut Beginn.
Musterlösung anzeigen (zählt als erledigt)

faehrtFuer wird eine n:m-Beziehung mit dem Attribut Beginn. ↑TeamNr entfällt in Fahrer; neue Tabelle Mitgliedschaft(FahrerNr, TeamNr, Beginn). Beginn gehört zum Schlüssel, damit ein Fahrer auch später in ein früheres Team zurückkehren kann.

A9
Ergebnislisten im Netz
AFB II

Die Liga möchte alle Ergebnisse mit Name und Jahrgang auf ihrer Website veröffentlichen. Erläutern Sie zwei datenschutzrechtliche Grundsätze, die dabei zu beachten sind.

Sind Name und Jahrgang personenbezogen?
Denken Sie an Zweckbindung, Datenminimierung und Einwilligung.
Musterlösung anzeigen (zählt als erledigt)

Name und Jahrgang sind personenbezogen. Zweckbindung: Die Daten wurden für die Wertung erhoben; eine Veröffentlichung ist ein neuer Zweck und braucht eine Rechtsgrundlage, bei Minderjährigen die Einwilligung der Sorgeberechtigten. Datenminimierung: Für die Ergebnisliste genügt z. B. Vorname und Team — der Jahrgang ist nur nötig, wenn nach Altersklassen gewertet wird.

A10
Trickaufgabe — Durchschnitt mit Lücke
AFB II

Bestimmen Sie SELECT AVG(Platz) FROM Start WHERE RennenNr = 'R1'; auf zwei Nachkommastellen.

Durch wie viele Werte wird geteilt?
AVG überspringt NULL.
Lösung anzeigen
(2 + 5 + 1) : 3 ≈ 2,67 — nicht durch 4, weil Deniz’ NULL ignoriert wird.