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