i

Ozeane speichern

Meere in der Beispiel-Datenbank

Weltkugel mit den Ozeanen der Welt[1]
Die Tabelle fluss unseres Modells speichert im Attribut Meer auch, in welches Meer ein Fluss mündet.

Aufgabe 1

Schreibe ein SQL-Befehl, der dir alle Meere anzeigt, die in der Tabelle fluss vorkommen:

Probiere den folgenden Befehl aus:

SELECT DISTINCT Meer
  FROM fluss
 WHERE Meer IS NOT NULL
 ORDER BY Meer

Der Befehl DISTINCT verhindert doppelte Ausgaben und die Bedingung Meer IS NOT NULL schließt alle Datensätze aus, für die das Meer nicht gepflegt ist.

Eine neue Tabelle

Der Atlantik ist doppelt vorhanden - ein typisches Beispiel für "inkonsistente" (schlechte) Daten. Auch sind sowohl Meere (z.B. die Irische See) als auch Ozeane (z.B. der Atlantik) verzeichnet.

Das wollen wir ändern und zunächst nur die Ozeane konsistent (also "ohne Fehler") speichern.

Aufgabe 2

  1. Erkläre, warum man dafür eine neue Tabelle ozean benötigt.
  2. Welche Attribute (mit welchem Datentyp) benötigt die Tabelle?

Entwerfe die neue Tabelle (mit ein paar Datensätzen) zunächst auf einem Arbeitsblatt:

Aufgabe 3

Mit dem Speichern aller Ozeane (wie viele gibt es?) in einer neuen Tabelle ist es nicht getan.

  1. Wie kann die Tabelle fluss angepasst werden, so dass sie mit der neuen Tabelle verknüpft wird?
    Bsp.: Für den Rhein soll gespeichert werden dass er in den Atlantik mündet - die Nordsee ist Teil des Atlantiks.
  2. Schreibe auch ein SQL-Befehl, der dann jeden Fluss ausgibt, der in einen bestimmten Ozean mündet.

 

Statt "Trockenübungen" kannst du die neue Tabelle ozean in SQLite auch selbst einmal anlegen. Wenn du etwas experimentierfreudig bist, kannst du das mit den kommenden "Exkurs"-Kapiteln ausprobieren.
Ansonsten überspringe diese Kapitel.

Quellen

Suche

v
3.1.7.1
dev.inf-schule.de/datenbanksysteme/terra/modellkritik/einstieg_ozean
dev.inf-schule.de/3.1.7.1
dev.inf-schule.de/@/page/VMvfHiZoxaNiLNLk

Rückmeldung geben