Zum Inhalt springen

Kostenlose Lerninhalte

/informatik/163122/aufgabengruppe

Frei zugängliche, geprüfte Lerninhalte zum Verstehen, Wiederholen und selbstständigen Üben.

Aufgabengruppe

/informatik/163122/aufgabengruppe

/informatik/163122/aufgabengruppe

Aufgabengruppe

Fußballhelden

Auf der Seite DBup2date der Universität Bayreuth ist eine Datenbank zur deutschen Bundesliga, mit der man Abfragen üben kann.

Öffne einen neuen Tab und gehe auf die Seite https://dbup2date.uni-bayreuth.de/bundesliga.html.

Oben auf der Seite siehst du ein Datenbankschema, indem Schlüssel unterstrichen und Fremdschlüssel überstrichen sind.

Darunter ist ein Editor, indem du entweder die SQL Abfrage schreiben kannst oder graphisch mit Bausteinen die SQL Abfragen zusammenbauen kannst.

Aufgabe 1

Zum Warmwerden 1: Gib die Namen aller Vereine aus.

Lösung anzeigen
Lösung
Voraussetzung
Einführung zu SQL
Strategie

Schritte

Die Tabelle Verein hat ein Attribut Name:

sql
SELECT Name
FROM Verein;
Aufgabe 2

Suche den Namen und das Land der Spieler heraus, die zwischen 20 und 25 Spiele gespielt haben.

Lösung anzeigen
Lösung
Voraussetzung
Einführung zu SQL
Strategie

Schritte

Du kannst mit AND zwei Bedingungen verknüpfen, die gleichzeitig gelten sollen.

Unter anderem mit < und > kannst du Zahlwerte vergleichen.

sql
SELECT Spieler_Name,  Land
FROM Spieler 
WHERE Spiele < 25 
AND Spiele > 20;
Aufgabe 3

Verbinde die Informationen, die es in der Tabelle Spieler gibt mit den Informationen der zugehörigen Vereine und gib alles aus.

Lösung anzeigen
Lösung
Voraussetzung
Abfragen über mehrere Tabellen
Strategie

Schritte

Du bildest einen natürlichen Verbund aus Spieler und Verein, indem du den Fremdschlüssel Vereins_ID in Spieler mit dem Schlüssel V_ID in Verein vergleichst:

sql
SELECT *
FROM Spieler, Verein
WHERE V_ID=Vereins_ID;
Aufgabe 4

Gib den Namen und die Trikotnummer aller Spieler aus, die beim FC Bayern München spielen

Lösung anzeigen
Lösung
Voraussetzung
Abfragen über mehrere Tabellen
Strategie

Schritte

Es werden nicht mehr alle Daten ausgegeben, sondern nur noch die Trikot_Nr und der Spieler_Name.

Neben dem Vergleich der Schlüssel, um den natürlichen Verbund zu bilden, muss auch noch der Vereinsname überprüft werden:

sql
SELECT Spieler_Name, Trikot_Nr
From Verein, Spieler
Where V_ID=Vereins_ID 
AND Name ="FC Bayern München"
Aufgabe 5

Gib Für alle Auswärtsspiele aller Vereine (Spiele als Gast) den Name des Vereins, die Tore der Heimmannschaft und die Tore der Gastmannschaft an, wenn die Gastmannschaft mindestens ein Tor mehr geschossen hat als die Heimmannschaft.

Lösung anzeigen
Lösung
Voraussetzung
Abfragen über mehrere Tabellen
Strategie

Schritte

Ausgegeben werden soll der Name aus der Tabelle Verein und die Tore_Heim und Tore_Gast aus der Tabelle Spiel.

Verein und Spieler sind die beiden beteiligten Tabellen.

Den natürlichen Verbund der beiden Tabellen bildet man mit Gast=V_ID.

Zusätzlich soll die Gastmannschaft noch mehr Tore geschossen haben, als die Heimmannschaft, also Tore_Gast > Tore_Heim

sql
Select Name, Tore_Heim, Tore_Gast
From Spiel, Verein
Where Gast=V_ID
AND Tore_Gast > Tore_Heim;