Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:m290_guko:learningunits:lu06:theorie:a_crud [2026/09/20 22:48] – angelegt gkochde:modul:m290_guko:learningunits:lu06:theorie:a_crud [2026/09/20 22:58] (aktuell) gkoch
Zeile 4: Zeile 4:
   * Ich kann die vier CRUD-Operationen benennen und je ein Beispiel aus dem Alltag nennen.   * Ich kann die vier CRUD-Operationen benennen und je ein Beispiel aus dem Alltag nennen.
   * Ich kann jeder CRUD-Operation den passenden SQL-Befehl zuordnen.   * Ich kann jeder CRUD-Operation den passenden SQL-Befehl zuordnen.
-  * Ich weiss, dass SELECT streng genommen nicht zur DML gehört, aber im Alltag mitgemeint ist. 
  
  
Zeile 17: Zeile 16:
   * **Delete** – Daten **löschen**   * **Delete** – Daten **löschen**
  
-{{ :de:modul:m290_guko:learningunits:lu06:theorie:crud.png?direct&800 |CRUD am Beispiel eines Social-Media-Feeds}}+ 
 +{{:de:modul:m290_guko:learningunits:lu07:theorie:crud.png?direct&800|CRUD am Beispiel eines Social-Media-Feeds}}
 //Beispiel: CRUD im Social-Media-Feed – User coffee_nature sieht seine Beiträge im Feed (Read), erstellt einen neuen Post (Create), löscht einen bestehenden Beitrag (Delete) und bearbeitet einen Titel (Update).// //Beispiel: CRUD im Social-Media-Feed – User coffee_nature sieht seine Beiträge im Feed (Read), erstellt einen neuen Post (Create), löscht einen bestehenden Beitrag (Delete) und bearbeitet einen Titel (Update).//
  
Zeile 29: Zeile 29:
   * **Delete** → Sie löschen den Post → der Eintrag wird aus der Datenbank entfernt.   * **Delete** → Sie löschen den Post → der Eintrag wird aus der Datenbank entfernt.
  
-Als Mediamatiker:in begegnen Ihnen CRUD-Operationen vor allem in zwei Situationen:+Als Mediamatiker:in begegnen Ihnen CRUD-Operationen vor allem in zwei Situationen: wenn Sie selbst ein SQL-Skript schreiben – oder unsichtbar im Hintergrund, wenn Sie eine Website benutzen.
  
-==== 1. In SQL-Skripten ==== +==== 1. Im SQL-Skript ==== 
-Ein SQL-Skript ist eine einfache Textdatei mit SQL-Befehlen (Dateiendung //.sql//). Damit lassen sich Datenbanken präzise, wiederholbar und nachvollziehbar verändern.+Ein SQL-Skript ist einfach eine Textdatei voller SQL-Befehle (Dateiendung //.sql//). Damit können Sie automatisiert eine Datenbank verändern, statt jeden Befehl einzeln einzutippen.
  
 Typische Fälle: Typische Fälle:
  
-  * WordPress-Daten migrieren (z.B. beim Umzug auf ein neues Hosting+  * Daten auf ein neues Hosting umziehen (z.B. eine WordPress-Migration
-  * Daten importieren/exportieren, z.B. Produktlisten in einem Webshop +  * Produktlisten in einen Webshop importieren 
-  * Wartungsarbeiten: alte Daten löschen, neue hinzufügen+  * alte Daten aufräumen, neue nachtragen
  
-Beispiel: Statt 100 Produkte von Hand ins Backend einzutragenfügt ein Skript alle Daten in Sekunden korrekt ein – inklusive richtiger Datentypen.+Beispiel: Statt 100 Produkte von Hand einzutippenlässt man ein Skript alle Daten in wenigen Sekunden einfügen.
  
-==== 2. Über die Backend-Logik ==== +==== 2. Im Hintergrund einer Website ==== 
-Moderne Webapplikationen (WordPress, Webshops, Social Media) kommunizieren mit der Datenbank über REST-Calls und APIs. Wenn Sie im Frontend einen Button klicken ("Post erstellen", "Sneaker in den Warenkorb"), löst das im Hintergrund eine SQL-Operation wie INSERT, SELECT, UPDATE oder DELETE aus.+Wenn Sie auf einer Website einen Button klicken – "Post erstellen", "In den Warenkorb" – passiert im Hintergrund etwas Ähnliches. Die Website schickt eine Anfrage ans Backend, und das Backend führt dafür einen SQL-Befehl aus: INSERT, SELECT, UPDATE oder DELETE
 + 
 +Praktisch jeder Klick auf einer Website kann im Hintergrund eine CRUD-Operation auslösen.
  
-<WRAP center round info 80%> 
-**API** ("Application Programming Interface"): eine Schnittstelle, über die Programme miteinander kommunizieren. Eine REST-API verbindet z.B. eine Website mit einer Datenbank.\\ 
-**REST-Call:** ein Aufruf von einem Programm (z.B. einer Website oder App) an ein Backend, meist über HTTP-Befehle wie GET, POST, PUT oder DELETE. 
-</WRAP> 
  
  
 ===== CRUD und SQL ===== ===== CRUD und SQL =====
 In dieser Lerneinheit lernen Sie die sogenannte **DML** (Data Manipulation Language) kennen. Mit DML-Befehlen setzen Sie CRUD direkt in SQL um: In dieser Lerneinheit lernen Sie die sogenannte **DML** (Data Manipulation Language) kennen. Mit DML-Befehlen setzen Sie CRUD direkt in SQL um:
 +<WRAP center round box 80%>
  
 ^ CRUD ^ SQL-Befehl (typisch) ^ Sprachfamilie ^ ^ CRUD ^ SQL-Befehl (typisch) ^ Sprachfamilie ^
Zeile 59: Zeile 58:
 | Update | ''UPDATE ... SET ... WHERE ...;'' | DML | | Update | ''UPDATE ... SET ... WHERE ...;'' | DML |
 | Delete | ''DELETE FROM ... WHERE ...;'' | DML | | Delete | ''DELETE FROM ... WHERE ...;'' | DML |
 +</WRAP>
  
 <WRAP center round info 80%> <WRAP center round info 80%>
Zeile 65: Zeile 65:
  
  
-===== Beispiele (Film-Datenbank) ===== 
-Diese Beispiele arbeiten noch auf //imdb_top_1000// – der Tabelle, die Sie bereits kennen. 
- 
-  * **Create**: einen Film hinzufügen 
-<WRAP center box 80% round><code sql> 
-INSERT INTO imdb_top_1000 (Series_Title, Released_Year, Genre, IMDB_Rating) 
-VALUES ('Dune', 2021, 'Action, Adventure, Sci-Fi', 8.0); 
-</code></WRAP> 
- 
-  * **Read**: Filme ab 2010 mit Top-Bewertung auslesen 
-<WRAP center box 80% round><code sql> 
-SELECT Series_Title, Released_Year, IMDB_Rating 
-FROM imdb_top_1000 
-WHERE Released_Year >= 2010 
-ORDER BY IMDB_Rating DESC; 
-</code></WRAP> 
- 
-  * **Update**: Genre aktualisieren 
-<WRAP center box 80% round><code sql> 
-UPDATE imdb_top_1000 
-SET Genre = 'Drama, War' 
-WHERE Series_Title = '1917' AND Released_Year = 2019; 
-</code></WRAP> 
- 
-  * **Delete**: Datensatz entfernen 
-<WRAP center box 80% round><code sql> 
-DELETE FROM imdb_top_1000 
-WHERE Series_Title = 'Dummy Movie' AND Released_Year = 1900; 
-</code></WRAP> 
- 
-<WRAP center round tip 80%> 
-**Warum üben wir das nicht direkt auf imdb_top_1000?** Diese Tabelle brauchen Sie noch in späteren Lerneinheiten zum Abfragen – wenn jede Person darin herumlöscht und ändert, sind die Daten am Ende durcheinander. Auf der nächsten Seite bauen Sie sich deshalb eine **eigene Tabelle**, an der Sie gefahrlos üben können. 
-</WRAP> 
  
 ---- ----
 {{tag>M290-LU06}} {{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 [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Guido Koch
  • de/modul/m290_guko/learningunits/lu06/theorie/a_crud.1789937290.txt.gz
  • Zuletzt geändert: 2026/09/20 22:48
  • von gkoch