i

Übungen

Aufgabe 1

Stelle dir vor, du willst die folgenden Dinge in einer Datenbanktabelle speichern:

  1. die in Deutschland zugelassenen Autos
  2. alle zur Zeit erhältlichen Bücher
  3. alle Schülerinnen und Schüler in deiner Schule
  4. die Lehrerinnen und Lehrer deiner Schule

Welche Primärschlüssel könnte man dann jeweils wählen? Wo sollte man einen "künstlichen" Primärschlüssel einfügen?

Aufgabe 2

Für die Verwaltung der Noten einer Klasse hat sich ein Lehrer eine Datenbank erstellt:

Klassenverwaltung

  1. Warum wäre das Attribut "Name" ein möglicher Primärschlüssel für die Schüler-Tabelle?
    Warum kann das aber später zu Problemen führen?
  2. Was ist im Moment ein möglicher Primärschlüssel der Noten-Tabelle?
  3. Was ist der Fremdschlüssel in der Noten-Tabelle?
  4. Ändere beide Tabellen so ab, dass die Probleme aus Aufgabenteil a vermieden werden können.

Aufgabe 3

Orte sind in der Regel einem bestimmten Land zugeordnet. Wie muss die Tabelle "ort" aus dem letzten Kapitel verändert werden, so dass man von dort auf die entsprechenden Länderdaten zugreifen kann?

Die Lösung findest du selbst, wenn du die nächste vorbereitete Datenbank verwendest; ansonsten kannst du SQL auch direkt in den Aufgaben ausprobieren.

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

Aufgabe 4

Formuliere SQL-Befehle für die folgenden Anfragen. Dabei reichen zunächst einmal die Tabellen land und kontinent aus:

Schema land und kontinent

  1. Gib alle Länder (Namen, Einwohner) aus, die in Asien liegen.
  2. Sortiere die asiatischen Länder noch nach der Einwohnerzahl absteigend.
  3. Welche europäischen Länder haben mehr als 300.000 km2 Fläche?

Beachte jeweils, dass du keine Bedingungen formulierst, die Werte in den künstlichen Schlüsselattributen abfragen. In der Regel sollte sich der Programmierer ja nicht auf diese (internen) Werte verlassen. Bedingungen der Form land.KNR='EU' sind also nicht zulässig.

Aufgabe 5

Die folgenden Abfragen beziehen sich jetzt auf alle drei Tabellen (ort, land, kontinent) der terra3-Datenbank, deren Schema du hier siehst:

Schema terra3-Datenbank

  1. Gib alle Orte mit mehr als 10 Mio. Einwohner mit ihren Ländern aus. Sortierung nach Einwohnerzahl absteigend.
  2. Welche Orte in Europa haben mehr als 1 Mio. Einwohner?
  3. Welche Orte haben mehr als 1 Mio. Einwohner und liegen in Ländern, die weniger als 10 Mio. Einwohner haben?
  4. Erzeuge eine Tabelle mit den Hauptstädten der Länder.
    Hilfe: Das Attribut HauptONR in der land-Tabelle kann helfen!

Sollte kein Ergebnis herauskommen, kann es sein, dass du vielleicht eine Join-Bedingung vergessen hast?
Das überfordert die lokale Datenbank dann hier etwas...
Lade in diesem Fall die Seite einfach noch einmal neu!

Suche

v
3.1.2.7
dev.inf-schule.de/datenbanksysteme/terra/datenverknuepfen/uebungen
dev.inf-schule.de/3.1.2.7
dev.inf-schule.de/@/page/vXMu7d3lrxO5Zskc

Rückmeldung geben