Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m290_guko:learningunits:lu07:aufgaben:a_persoenliche_lieblingsfilme [2025/09/28 20:34] gkochmodul:m290_guko:learningunits:lu07:aufgaben:a_persoenliche_lieblingsfilme [2025/09/28 21:14] (aktuell) gkoch
Zeile 1: Zeile 1:
-====== LU07.A01 Auftrag: Eigene Lieblingsfilm-Tabelle erstellen ======+====== LU07 – A01 Auftrag: Eigene Lieblingsfilm-Tabelle erstellen ======
  
-**Ziel:** Jede:r Lernende erstellt **alleine** eine persönliche Filmtabelle und übt dabei die DML-Operationen //INSERT//, //UPDATE// und //DELETE// (inkl. //INSERT ... SELECT// aus //imdb_top_1000//).+{{:modul:m290_guko:learningunits:lu07:aufgaben:tyson-moultrie-bqthognho08-unsplash_resized.jpg?nolink&600| Foto mit Filmpostern an einer Wand. }} 
 +//Foto von [[https://unsplash.com/@tysonmoultrie?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash|Tyson Moultrie]] auf [[https://unsplash.com/photos/the-beatles-vinyl-record-sleeve-BQTHOGNHo08?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash|Unsplash]]// 
 + 
 +**Ziel:** Jede:r Lernende erstellt **alleine** eine persönliche Tabelle mit Lieblingsfilmen und übt dabei die DML-Operationen //INSERT//, //UPDATE// und //DELETE// (inkl. //INSERT ... SELECT// aus //imdb_top_1000//).
  
 > **WICHTIG:** Der gesamte Auftrag wird **ausschliesslich mit SQL-Befehlen** gelöst – **nicht** über die Webstorm-GUI. > **WICHTIG:** Der gesamte Auftrag wird **ausschliesslich mit SQL-Befehlen** gelöst – **nicht** über die Webstorm-GUI.
 +
 +<WRAP center box>
 +Die Theorie mit Beispielen zu den einzelnen Befehlen (INSERT, UPDATE, DELETE) finden Sie auf den nächsten Seiten. **Lesen und nutzen Sie die Theorie auf den folgenden Seiten und __nicht__ AI für das Erledigen dieses Auftrags.**
 +</WRAP>
  
  
 ===== 1) Tabelle anlegen (Wiederholung CREATE TABLE) ===== ===== 1) Tabelle anlegen (Wiederholung CREATE TABLE) =====
-Erstelle die Tabelle //favourite_film// mit folgenden Spalten **(Datentypen passend wählen)**:+Erstellen Sie die Tabelle //favourite_film// mit folgenden Spalten **(Datentypen passend wählen)**:
   * //film_id// – **Primärschlüssel**, **AUTO_INCREMENT**   * //film_id// – **Primärschlüssel**, **AUTO_INCREMENT**
   * //title// – Filmtitel (z. B. VARCHAR(100))   * //title// – Filmtitel (z. B. VARCHAR(100))
Zeile 14: Zeile 21:
   * //star1// – Hauptdarsteller:in (z. B. VARCHAR(50))   * //star1// – Hauptdarsteller:in (z. B. VARCHAR(50))
  
-> Tipp: Notiere dir dein fertiges **CREATE TABLE** in einer Datei, damit du es später wiederverwenden kannst. 
  
  
 ===== 2) Daten einfügen (INSERT) ===== ===== 2) Daten einfügen (INSERT) =====
-a) **Single-Insert:** Füge **einen** Datensatz aus der Liste unten (s. Beispiel-Datensätze) ein.   +  - **Single-Insert:** Fügen Sie **einen** Datensatz aus der Liste unten (s. Beispiel-Datensätze) ein.   
-b) **Multiple-Insert:** Füge **2–3 weitere** Datensätze in **einem** Statement ein.   +  **Multiple-Insert:** Fügen Sie **2–3 weitere** Datensätze in **einem** Statement ein.   
-c) **INSERT ... SELECT:** Übernimm **weitere Filme** aus der Tabelle //imdb_top_1000// in deine //favourite_film//-Tabelle (Spalten-Mapping: //Series_Title → title//, //Director → director//, //Released_Year → released_year//, //Star1 → star1//). Filtere z. B. nach Jahr (ab 2000) oder nach Regie.+  **INSERT ... SELECT:** Übernimm **weitere Filme** aus der Tabelle //imdb_top_1000// in deine //favourite_film//-Tabelle (Spalten-Mapping: //Series_Title → title//, //Director → director//, //Released_Year → released_year//, //Star1 → star1//). Filtere z. B. nach Jahr (ab 2000) oder nach Regie.
  
 > Hinweise: > Hinweise:
- * Achte auf **korrekte Datentypen** (Jahr als Zahl, Texte in Quotes). +Achten Sie auf **korrekte Datentypen** (Jahr als Zahl, Texte in Quotes). 
- Bei Texten mit Apostroph (z. B. //Five Nights at Freddy's//muss das Hochkomma in SQL **escaped** werden (''), wenn du es manuell tippst.+> **Hinweis zu Apostrophen:**   
 +> Filme mit Hochkomma im Titel (z. B. //Five Nights at Freddy's//müssen in SQL mit einem **doppelten Apostroph** geschrieben werden:   
 +<WRAP center box 80% round><code sql> 
 +'Five Nights at Freddy''s' 
 +</code></WRAP>
  
 ===== 3) Daten ändern (UPDATE) ===== ===== 3) Daten ändern (UPDATE) =====
 Führe **mindestens zwei** Updates aus: Führe **mindestens zwei** Updates aus:
-  * Korrigiere bei **einem** Film den Namen der Regie oder den Titel. +  * Korrigieren Sie bei **einem** Film den Namen der Regie oder den Titel. 
-  * Ändere bei **einem anderen** Film **zwei Spalten** gleichzeitig (z. B. Titel **und** star1).+  * Ändern Sie bei **einem anderen** Film **zwei Spalten** gleichzeitig (z. B. Titel **und** star1).
  
-> **Immer mit WHERE einschränken!** Teste deine Bedingung zuerst mit einem //SELECT//-Dry-Run.+> **Immer mit WHERE einschränken!** Testen Sie die Bedingung zuerst mit einem //SELECT//-Dry-Run.
  
  
 ===== 4) Daten löschen (DELETE) ===== ===== 4) Daten löschen (DELETE) =====
-Führe **mindestens zwei** Löschoperationen aus: +Führen Sie **mindestens zwei** Löschoperationen aus: 
-  * Lösche **einen** Film gezielt über den Primärschlüssel //film_id//+  * Löschen Sie **einen** Film gezielt über den Primärschlüssel //film_id//
-  * Lösche **mehrere** Filme auf einmal (z. B. via //IN// oder per Jahrgangs-Filter).+  * Löschen Sie **mehrere** Filme auf einmal (z. B. via //IN// oder per Jahrgangs-Filter).
  
 > Vorsicht: //DELETE// ohne //WHERE// leert die ganze Tabelle. > Vorsicht: //DELETE// ohne //WHERE// leert die ganze Tabelle.
Zeile 43: Zeile 53:
  
 ===== 5) Peer-Check ===== ===== 5) Peer-Check =====
-Zeige dein Ergebnis (Tabelle mit einigen Datensätzen) **einer/einem Lernenden, die/der nicht neben dir sitzt**.   +Zeigen Sie Ihr Ergebnis (Tabelle mit einigen Datensätzen) **einer/einem Lernenden, die/der nicht neben Ihnen sitzt**.   
-Die Lehrperson hilft beim **Matching**Erklärt euch gegenseitig: +Die Lehrperson hilft beim Matching. Erklären Sie sich gegenseitig: 
-  * Welche DML-Befehle ihr ausgeführt habt (Kurzüberblick). +  * Welche DML-Befehle Sie ausgeführt haben (Kurzüberblick). 
-  * Wo ihr //WHERE// verwendet habt und warum. +  * Wo Sie //WHERE// verwendet haben und warum. 
-  * Was ihr bei Apostrophen, Umlauten und Datentypen beachtet habt.+  * Wo gab es Probleme oder Unsicherheiten? 
 +  * Welche Filme haben Sie in Ihrer Tabelle und warum genau diese Ihre Lieblingsfilme sind.
  
  
 ===== Beispiel-Datensätze (roh, ohne SQL) ===== ===== Beispiel-Datensätze (roh, ohne SQL) =====
-*Reihenfolge der Spalten:**title, director, released_year, star1**   +**Reihenfolge** der Spalten: **title, director, released_year, star1**   
-*Kopiere einzelne Zeilen (jeweils eine pro Film) – jede Zeile ist ein Datensatz. Trenne Datensätze durch eine **leere Zeile**.* +Kopieren Sie einzelne Zeilen (jeweils eine pro Film) – jede Zeile ist ein Datensatz. 
 +<WRAP center box 80% round><code sql>
 Dune: Part Two, Denis Villeneuve, 2024, Timothée Chalamet Dune: Part Two, Denis Villeneuve, 2024, Timothée Chalamet
  
Zeile 77: Zeile 88:
  
 Blue Beetle, Ángel Manuel Soto, 2023, Xolo Maridueña Blue Beetle, Ángel Manuel Soto, 2023, Xolo Maridueña
 +</code></WRAP>
  
-Du kannst natürlich eigene Favoriten ergänzen (gleiches Format).+Sie können natürlich eigene Favoriten ergänzen (gleiches Format).
  
  
 ===== Quellen-Tipps (für eigene Filme) ===== ===== Quellen-Tipps (für eigene Filme) =====
-  * [[https://www.imdb.com/de/**IMDB** ]] – grosse Filmdatenbank; Titel, Jahr, Regie, Cast leicht recherchierbar.   +  * [[https://www.imdb.com/de/| IMDB ]] – grosse Filmdatenbank; Titel, Jahr, Regie, Cast leicht recherchierbar.   
-  * [[https://www.themoviedb.org| **The Movie Database (TMDB)** ]] – community-basiert, oft mit **CSV-Exports** und klaren Attributen (praktisch für spätere SQL-Imports).   +  * [[https://www.themoviedb.org| The Movie Database (TMDB) ]] – community-basiert, oft mit **CSV-Exports** und klaren Attributen (praktisch für spätere SQL-Imports).   
-  * [[https://letterboxd.com| **Letterboxd** ]] – beliebte Watchlists/Trends, gute Inspiration für aktuelle Titel.  +  * [[https://letterboxd.com| Letterboxd ]] – beliebte Watchlists/Trends, gute Inspiration für aktuelle Titel.  
  
-> Praxis-Tipp für SQL-Übernahme: 
->  * Wenn du aus CSV oder Listen übernimmst, achte auf **Anführungszeichen** und **Apostroph-Escaping** ('' in SQL-Strings).   
->  * Verwende nach grösseren Einfügungen ein //SELECT// zur Kontrolle (z. B. sortiere nach //released_year// oder filtere nach //director//). 
  
  
 ===== Abgabe (mündlich) ===== ===== Abgabe (mündlich) =====
-  * Zeige der Lehrperson oder deiner Peer-Partner*in deine Ergebnisse (z. B. ein //SELECT * FROM favourite_film//).   +  * Zeigen Sie der Lehrperson oder Ihrer Peer-Partner:in Ihre Ergebnisse (z. B. ein //SELECT * FROM favourite_film//).   
-  * Erkläre kurz, welche **INSERT/UPDATE/DELETE**-Schritte du gemacht hast und **warum**.+  * Erklären Sie kurz, welche **INSERT/UPDATE/DELETE**-Schritte Sie gemacht haben und **warum**.
  
  • modul/m290_guko/learningunits/lu07/aufgaben/a_persoenliche_lieblingsfilme.1759084453.txt.gz
  • Zuletzt geändert: 2025/09/28 20:34
  • von gkoch