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:theorie:a_crud [2025/09/23 22:25] gkochmodul:m290_guko:learningunits:lu07:theorie:a_crud [2025/09/28 13:54] (aktuell) gkoch
Zeile 1: Zeile 1:
 ====== LU07a – CRUD: Die Basics der Datenverwaltung ====== ====== LU07a – CRUD: Die Basics der Datenverwaltung ======
  
-**CRUD** steht für **Create, Read, Update, Delete** – die vier grundlegenden Operationenmit denen jede Anwendung Daten **anlegtliest, ändert, löscht**.   +**CRUD** ist ein Akronym für **Create, Read, Update, Delete**.   
-CRUD ist überall: in Web-Apps, REST-APIs, Admin-Backends, Mobile Apps – und natürlich in SQL.+Diese vier Operationen sind die **Grundbausteine für den Umgang mit Daten** – egal ob in einer Datenbankeiner App oder einem Webservice.  
  
-{{:modul:m290:learningunits:lu02:theorie:crud.png?300|}}+Stellen Sie sich CRUD wie einen Werkzeugkasten vor, mit dem Sie immer wieder die gleichen Tätigkeiten machen  
 +  * **Create** – etwas Neues __hinzufügen__   
 +  * **Read** – vorhandene Daten __abrufen__   
 +  * **Update** – bestehende Daten __ändern__   
 +  * **Delete** – Daten __löschen__  
  
-===== Lernziele ===== +{{:modul:m290_guko:learningunits:lu07:theorie:crud.png?direct&800|}} 
-  * Ich kann **CRUD** in eigenen Worten erklären+//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).//
-  * Ich kann CRUD-Operationen zu **REST-API** und **SQL** zuordnen. +
-  * Ich verstehewarum CRUD als **Skript** (Migration/Seedoft besser ist als Klicks in der GUI.+
  
 ===== CRUD in der Praxis ===== ===== CRUD in der Praxis =====
-^ CRUD | Web/REST (typisch) | SQL (typisch) | 
-| **Create**  | POST /products            | //INSERT INTO ... VALUES (...);// | 
-| **Read**    | GET /products?min=10      | //SELECT ... FROM ... WHERE ...;// | 
-| **Update**  | PUT/PATCH /products/42    | //UPDATE ... SET ... WHERE id=42;// | 
-| **Delete**  | DELETE /products/42       | //DELETE FROM ... WHERE id=42;// | 
  
-Warum das wichtig ist+CRUD begegnet Ihnen nicht nur in der Datenbank, sondern überall in der Informatik.   
-  * **Gleiche Denkweise** in Backend & DBREST-Calls lösen am Ende CRUD in der DB aus. +BeispielEin Social-Media-Post   
-  * **Reproduzierbar & versionierbar**: SQL-Skripte in Git (Migrationen/Seedssind **nachvollziehbar** – Klicks in GUIs nicht+ 
-  * **Schnell & sauber**: Grosse Datenmengen/korrekte Datentypen sind per Skript sicherer als CSV-Importe per GUI.+  * **Create** → Sie schreiben einen neuen Post → er wird in der Datenbank gespeichert.   
 +  * **Read** → Andere Nutzer:innen sehen Ihren Post → die App liest die Daten aus der Datenbank.   
 +  * **Update** → Sie ändern den Text oder fügen ein Bild hinzu → die Daten in der Datenbank werden angepasst.   
 +  * **Delete** → Sie löschen den Post → der Eintrag wird aus der Datenbank entfernt  
 + 
 +In der Praxis stossen Sie als Mediamatiker:in auf CRUD vor allem in zwei Situationen:   
 + 
 +==== 1. In SQL-Skripten ====  
 +Ein SQL-Skript ist eine einfache **Textdatei mit SQL-Befehlen** (Dateiendung //.sql//).   
 +Damit lassen sich Datenbanken **präzise, wiederholbar und nachvollziehbar** verändern.   
 + 
 +Typische Fälle  
 +  * WordPress: Daten **migrieren**((SQL-Skripte, die eine Datenbank-Struktur oder -Inhalte anpassen, z. B. beim Umzug auf ein neues Hosting.)),   
 +  * Daten **importieren/exportieren** (z. B. Produktlisten in einem Webshop),   
 +  * **Wartungsarbeiten**((Geplante Arbeiten an einer Datenbank, z. B. alte Daten löschen oder neue hinzufügen)).   
 + 
 +Beispiel: Statt 100 Produkte von Hand ins Backend einzutragen, fügt ein Skript alle Daten in Sekunden korrekt ein – inklusive richtiger Datentypen.   
 + 
 +==== 2. Über die Backend-Logik ====  
 +Moderne Webapplikationen (WordPress, Webshops, Social Media) kommunizieren mit der Datenbank über **REST-Calls**((Ein Aufruf von einem Programm (z. B. einer Website oder App) an ein Backend. Dabei wird ein HTTP-Befehl wie GET, POST, PUT oder DELETE verwendet, um Daten von einer Datenbank abzufragen oder zu verändern.)) und **APIs**((„Application Programming Interfaces“ – Schnittstellen, über die Programme miteinander kommunizieren können. Eine REST-API verbindet z. B. eine Website mit einer Datenbank und gibt dort gespeicherte Daten zurück.)).   
 +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  
 + 
 +===== CRUD und SQL ===== 
 + 
 +In diesem Kapitel lernen Sie die sogenannten **DML-Befehle** (Data Manipulation Language).   
 +Mit DML-Befehlen setzen Sie CRUD direkt in SQL um:   
 + 
 +^ CRUD | SQL-Befehl (typisch) | 
 +**Create**  | <code sql>INSERT INTO ... VALUES (...);</code>
 +**Read**    | <code sql>SELECT ... FROM ... WHERE ...;</code> | 
 +| **Update**  | <code sql>UPDATE ... SET ... WHERE ...;</code>
 +| **Delete**  | <code sql>DELETE FROM ... WHERE ...;</code> |
  
 ===== Beispiele (Film-DB) ===== ===== Beispiele (Film-DB) =====
   * **Create**: einen Film __hinzufügen__     * **Create**: einen Film __hinzufügen__  
-    <WRAP center box 80%><code sql>+    <WRAP center box 80% round><code sql>
 INSERT INTO imdb_top_1000 (Series_Title, Released_Year, Genre, IMDB_Rating) INSERT INTO imdb_top_1000 (Series_Title, Released_Year, Genre, IMDB_Rating)
 VALUES ('Dune', 2021, 'Action, Adventure, Sci-Fi', 8.0); VALUES ('Dune', 2021, 'Action, Adventure, Sci-Fi', 8.0);
Zeile 31: Zeile 59:
  
   * **Read**: Filme ab 2010 mit Top-Bewertung __auslesen__     * **Read**: Filme ab 2010 mit Top-Bewertung __auslesen__  
-    <WRAP center box 80%><code sql>+    <WRAP center box 80% round><code sql>
 SELECT Series_Title, Released_Year, IMDB_Rating SELECT Series_Title, Released_Year, IMDB_Rating
 FROM imdb_top_1000 FROM imdb_top_1000
Zeile 39: Zeile 67:
  
   * **Update**: Genre __aktualisieren__     * **Update**: Genre __aktualisieren__  
-    <WRAP center box 80%><code sql>+    <WRAP center box 80% round><code sql>
 UPDATE imdb_top_1000 UPDATE imdb_top_1000
 SET Genre = 'Drama, War' SET Genre = 'Drama, War'
Zeile 46: Zeile 74:
  
   * **Delete**: Tuple (Datensatz) __entfernen__    * **Delete**: Tuple (Datensatz) __entfernen__ 
-    <WRAP center box 80%><code sql>+    <WRAP center box 80% round><code sql>
 DELETE FROM imdb_top_1000 DELETE FROM imdb_top_1000
 WHERE Series_Title = 'Dummy Movie' AND Released_Year = 1900; WHERE Series_Title = 'Dummy Movie' AND Released_Year = 1900;
 </code></WRAP> </code></WRAP>
  
-===== Merksatz ===== 
-**CRUD ist das „Alphabet“ der Datenarbeit.** Egal ob API-Call oder SQL-Skript – am Ende passieren Create/Read/Update/Delete auf Tabellen. 
  
  • modul/m290_guko/learningunits/lu07/theorie/a_crud.1758659105.txt.gz
  • Zuletzt geändert: 2025/09/23 22:25
  • von gkoch