====== LU06 - Auftrag: Tierheim an der Ron ======
===== Voraussetzungen =====
* **Arbeitsform:** Partnerarbeit (dieselbe Gruppe wie in LU05)
* **Hilfsmittel:** Ihre eigene Datenbank aus LU05.
* **Zeit:** ca. 30 Minuten
===== Ausgangslage =====
Wir möchten Tiere, die beim **Tierheim an der Ron** in Root (LU) zur Vermittlung stehen ([[https://tierschutz-luzern.ch/tierheim-an-der-ron/|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 (name ist NOT NULL). Lesen Sie die Fehlermeldung.
==== 3. Daten ändern ====
- Bei Mila wurde ein Eingabefehler entdeckt: Sie ist eigentlich in einem anderen Gehege untergebracht – ändern Sie ihre gehege_id auf **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 ====
- Bäry wurde erfolgreich vermittelt – löschen Sie seinen Datensatz gezielt über den Namen.
- 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.
----
{{tag>M290-LU06}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Guido Koch