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