====== LU06 - Auftrag: Schweizer Regionen ======
===== Voraussetzungen =====
* **Arbeitsform:** Partnerarbeit (dieselbe Gruppe wie in LU05)
* **Hilfsmittel:** Ihre eigene Datenbank aus LU05.
* **Zeit:** ca. 30 Minuten
===== Ausgangslage =====
Wir möchten **Gemeinden und Kehrichtverbrennungsanlagen (KVA) im Kanton Zürich** in unserer Datenbank erfassen, ändern und löschen.
Ihre Tabellen: **kanton**, **kva**, **gemeinde**.
**Erinnerung:** kanton hat keine AUTO_INCREMENT-ID – kantons_kennzeichen ist der Primärschlüssel und muss beim INSERT immer selbst angegeben werden.
===== Aufgabe =====
==== 1. Datensätze einfügen ====
**kva** (Spalten: name, ort)
KVA Hagenholz, Zürich
KVA Dietikon (Limeco), Dietikon
KVA Hinwil, Hinwil
KVA Horgen, Horgen
KVA Winterthur, Winterthur
**gemeinde** (Spalten: name, einwohnerzahl, plz, kantons_kennzeichen, anlage_id)
Uster, 36000, 8610, ZH, 3
Dietikon, 28000, 8953, ZH, 2
Horgen, 22000, 8810, ZH, 4
Winterthur, 114000, 8400, ZH, 5
Wetzikon, 25000, 8620, ZH, 3
Passen Sie kantons_kennzeichen an den Wert an, den Sie bei kanton tatsächlich angelegt haben (z.B. "ZH"). Passen Sie die anlage_id an die Reihenfolge an, in der Sie die KVA-Datensätze eingefügt haben.
==== 2. Constraint bewusst verletzen ====
Versuchen Sie, denselben Kanton **ein zweites Mal** einzufügen (kantons_kennzeichen ist Primärschlüssel). Lesen Sie die Fehlermeldung.
==== 3. Daten ändern ====
- Uster ist gewachsen – ändern Sie die einwohnerzahl auf **36800**.
- Wetzikon bekommt eine neue PLZ-Zuordnung **und** eine aktualisierte Einwohnerzahl – ändern Sie plz auf "8623" **und** einwohnerzahl auf 25400 in einem Befehl.
Filtern Sie über den Gemeindenamen, z.B. ''WHERE name = 'Uster' ''. Prüfen Sie vorher mit SELECT, wie viele Zeilen betroffen sind.
==== 4. Daten löschen ====
- Horgen wird versehentlich doppelt geführt – löschen Sie den Datensatz gezielt über den Namen.
- Alle Gemeinden, die der KVA Hinwil zugewiesen sind, werden neu erfasst – löschen Sie alle Gemeinden mit anlage_id 3 auf einmal.
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