i

Übungen

Die nachfolgenden Übungen zu SQL beziehen sich nun auf die komplette terra-Datenbank, die folgendes Datenbankschema besitzt:

Schema der kompletten terra-Datenbank

Falls du eine eigene MySQL- oder SQLite-Datenbank hast, dann kannst du für die folgenden Aufgaben die Daten importieren; ansonsten kannst du SQL auch direkt in den Aufgaben ausprobieren.

SQL FensterDownload der terra-Datenbank für MySQL und für SQLite.

 

Aufgabe 1

  1. In welchen Fluss mündet die Amper? Löse mit einem einzigen SQL-Befehl!
  2. Welche Länder grenzen an Deutschland (mit Ausgabe der Ländernamen)?
    Hilfe: Im WHERE-Teil muss eine OR-Bedingung vorhanden sein, da Deutschland in beiden Spalten der Tabelle nachbarland vorkommen kann.

Denke bei den Lösungen auch wieder daran, dass du keine Werte von Schlüsseln direkt abfragst!

Aufgabe 2

Welche österreichischen Flüsse münden in die Donau?

Hilfe: Der aufwändige SQL-Befehl kann so anfangen:

SELECT DISTINCT zufluss.Name
  FROM fluss AS ziel, fluss AS zufluss, stadtfluss AS sf, ort, land

Aufgabe 3

Ergebnis der Nachbarn auf anderem Kontinent

Welche Länder haben Nachbarn in anderen Kontinenten?

Hilfe: Du wirst die land-Tabelle und die kontinent-Tabelle zweimal benötigen!

Aufgabe 4 - für Experten

Die Nachbarländer von Deutschland wurden in einer Aufgabe oben schon herausgesucht. Vielleicht ist dir dabei auch als "Unschönheit" aufgefallen, dass Deutschland einmal als erstes und einmal als zweites Land genannt wurde. Woran liegt das?

Der folgende SQL-Befehl löst das Problem mit einem neuen Konstrukt. Kannst du den Befehl nachvollziehen?

Welche Vorstellung von einem Ergebnis eines SQL-Befehls liegt hier vor?

SELECT andere.Name, andere.Einwohner
  FROM land AS deutsch, land AS andere, nachbarland
 WHERE nachbarland.LNR1 = deutsch.LNR
   AND andere.LNR = nachbarland.LNR2
   AND deutsch.Name = 'Deutschland'
UNION
SELECT andere.Name, andere.Einwohner
  FROM land AS deutsch, land AS andere, nachbarland
 WHERE nachbarland.LNR2 = deutsch.LNR
   AND andere.LNR = nachbarland.LNR1
   AND deutsch.Name = 'Deutschland'

Aufgabe 5 - für Experten

  1. Bei welchen Nachbarn von Deutschland wird Deutsch gesprochen?
  2. Welche Nachbarländer sprechen grundsätzlich die gleiche Sprache?

Suche

v
3.1.6.4
dev.inf-schule.de/datenbanksysteme/terra/selbstreferenz/uebungen
dev.inf-schule.de/3.1.6.4
dev.inf-schule.de/@/page/WoXll74BkElhrbxK

Rückmeldung geben