LU06 - Auftrag: Tierheim an der Ron

Voraussetzungen

Ausgangslage

Wir möchten Tiere, die beim Tierheim an der Ron in Root (LU) zur Vermittlung stehen (tierschutz-luzern.ch) in unserer Datenbank erfassen, ändern und löschen.

Ihre Tabellen: gehege, tierart, tier.

Aufgabe

1. Datensätze einfügen

tierart (Spalten: bezeichnung, herkunft)

Hund, Weltweit domestiziert
 
Katze, Weltweit domestiziert
 
Kaninchen, Europa

gehege (Spalten: name, standort, flaeche)

Hundeaussenbereich 1, Garten, 45.50
 
Kleintierraum, Innenbereich, 20.00
 
Katzenzimmer, Innenbereich, 15.00

tier (Spalten: name, geburtsdatum, geschlecht, gehege_id, art_id)

('Zuki', '2024-04-01', 'w', 2, 3),
('Sokka', '2024-04-01', 'm', 2, 3),
('Mila', '2019-09-03', 'w', 3, 2),
('Bäry', '2022-01-20', 'm', 1, 1),
('Luigi', '2025-09-01', 'm', 1, 1),
('Fred', '2025-11-01', 'm', 1, 1);

2. Constraint bewusst verletzen

Versuchen Sie, ein Tier ohne Namen einzufügen. Lesen Sie die Fehlermeldung.

3. Daten ändern

  1. Bei Mila wurde ein Eingabefehler entdeckt: Sie ist eigentlich in einem anderen Gehege untergebracht – ändern Sie ihre gehege_id auf 2.
  2. Luigi und Fred werden gemeinsam in ein neues Gehege verlegt und ihre Art wird korrigiert, da sie eigentlich Kaninchen sind statt Hunde – ändern Sie bei beiden gehege_id auf 2 und art_id auf 3. Nutzen Sie dafür eine WHERE-Bedingung, die beide gleichzeitig trifft.

Filtern Sie über den Namen, z.B. ''WHERE name = 'Mila' ''. Für beide Tiere gleichzeitig eignet sich z.B. ''WHERE name = 'Luigi' OR name = 'Fred' ''. Prüfen Sie vorher mit SELECT, wie viele Zeilen betroffen sind.

4. Daten löschen

  1. Bäry wurde erfolgreich vermittelt – löschen Sie seinen Datensatz gezielt über den Namen.
  2. Zuki und Sokka werden gemeinsam vermittelt – löschen Sie beide Datensätze mit einer WHERE-Bedingung, die beide gleichzeitig trifft.

Denken Sie an den Dry-Run mit SELECT vor jedem DELETE.


Guido Koch