====== 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