====== LU06 - Auftrag: Öffentlicher Verkehr ======
===== Voraussetzungen =====
* **Arbeitsform:** Partnerarbeit (dieselbe Gruppe wie in LU05)
* **Hilfsmittel:** Ihre eigene Datenbank aus LU05.
* **Zeit:** ca. 30 Minuten
===== Ausgangslage =====
Wir möchten **VBZ-Tramlinien** aus Zürich in unserer Datenbank erfassen, ändern und löschen.
Ihre Tabellen: **linie**, **haltestelle**, **fahrt**.
===== Aufgabe =====
==== 1. Datensätze einfügen ====
**linie** (Spalten: name, betreiber)
Linie 4, VBZ
Linie 11, VBZ
Linie 8, VBZ
**haltestelle** (Spalten: name, ort)
Bellevue, Zürich
Rehalp, Zürich
Tiefenbrunnen, Zürich
Klusplatz, Zürich
Zoo, Zürich
**fahrt** (Spalten: datum, abfahrtszeit, preis, linien_id)
2026-09-22, 07:15:00, 4.60, 1
2026-09-22, 07:45:00, 4.60, 1
2026-09-22, 08:05:00, 4.60, 2
2026-09-22, 08:20:00, 4.60, 3
2026-09-22, 08:40:00, 4.60, 2
==== 2. Constraint bewusst verletzen ====
Versuchen Sie, eine Linie **ohne Namen** einzufügen (name ist NOT NULL). Lesen Sie die Fehlermeldung.
==== 3. Daten ändern ====
- Der Preis für alle Fahrten der Linie 4 steigt auf **4.80** – ändern Sie mit WHERE linien_id.
- Eine Fahrt der Linie 8 wird verschoben: Datum **und** Abfahrtszeit ändern sich – wählen Sie eine Fahrt gezielt aus (z.B. über datum und abfahrtszeit kombiniert) und ändern Sie beide Spalten in einem Befehl.
Prüfen Sie vorher mit SELECT, wie viele Zeilen von Ihrer WHERE-Bedingung betroffen sind – besonders wichtig, wenn Sie über linien_id filtern, da das mehrere Fahrten gleichzeitig treffen kann.
==== 4. Daten löschen ====
- Eine einzelne Fahrt wird gestrichen – löschen Sie sie gezielt (z.B. über eine Kombination aus datum und abfahrtszeit).
- Alle Fahrten der Linie 11 werden neu geplant – löschen Sie alle Fahrten mit linien_id 2 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