Dies ist eine alte Version des Dokuments!
LU06 - Auftrag: DML-Übung Eishockeyverein
Voraussetzungen
- Arbeitsform: Partnerarbeit (dieselbe Gruppe wie in LU05)
- Hilfsmittel: Ihre eigene Datenbank aus LU05, Ihre SQL-Datei.
- Zeit: ca. 30 Minuten
- Ergebnis: Erweiterte Datenbank, aktualisierte SQL-Datei, ausgefülltes Testprotokoll
Ausgangslage
Sie arbeiten weiter an Ihrem Case Eishockeyverein aus LU05. Falls Ihre Tabellen nicht mehr vorhanden sind, legen Sie sie mit Ihrer SQL-Datei aus LU05 neu an.
Ihre Tabellen: trainer, team, block, spieler_in.
Aufgabe
1. Einzelnen Datensatz einfügen
Fügen Sie einen neuen Trainer ein:
INSERT INTO trainer (name) VALUES ('Petra Meier');
2. Mehrere Datensätze auf einmal einfügen
Fügen Sie mindestens vier weitere Spieler:innen in einem Statement ein:
INSERT INTO spieler_in (name, rueckennummer, POSITION, block_id) VALUES ('Leon Huber', 17, 'Stürmer', 1), ('Nina Bachmann', 4, 'Verteidigerin', 1);
Passen Sie die block_id an einen Block an, den Sie tatsächlich angelegt haben.
3. Constraint bewusst verletzen
Versuchen Sie, eine Spielerin ohne Namen einzufügen (name ist NOT NULL):
INSERT INTO spieler_in (rueckennummer, POSITION, block_id) VALUES (99, 'Torhüterin', 1);
Notieren Sie die exakte Fehlermeldung von MySQL im Testprotokoll.
4. UPDATE mit Vorhersage
Notieren Sie zuerst: Wie viele Zeilen wird dieser Befehl ändern? Dann ausführen.
SELECT * FROM spieler_in WHERE spieler_id = 1; UPDATE spieler_in SET rueckennummer = 23 WHERE spieler_id = 1;
5. UPDATE über zwei Spalten
UPDATE spieler_in SET POSITION = 'Stürmerin', rueckennummer = 9 WHERE spieler_id = 2;
6. Gezieltes Löschen (mit Dry-Run)
SELECT * FROM spieler_in WHERE spieler_id = 3; DELETE FROM spieler_in WHERE spieler_id = 3;
7. Mehrfaches Löschen (mit Dry-Run)
Löschen Sie alle Spieler:innen einer bestimmten Position:
SELECT * FROM spieler_in WHERE POSITION = 'Verteidigerin'; DELETE FROM spieler_in WHERE POSITION = 'Verteidigerin';
Testprotokoll
| Was getestet? | Erwartetes Ergebnis | Tatsächliches Ergebnis | Fehlermeldung (falls vorhanden) |
|---|---|---|---|
| NOT NULL auf spieler_in.name | Einfügen wird abgewiesen | ||
| UPDATE Schritt 4 | … Zeile(n) betroffen |
