Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m290_guko:learningunits:lu07:theorie:a_crud [2025/09/23 23:13] – gkoch | modul:m290_guko:learningunits:lu07:theorie:a_crud [2025/09/28 13:54] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 5: | Zeile 5: | ||
| Stellen Sie sich CRUD wie einen Werkzeugkasten vor, mit dem Sie immer wieder die gleichen Tätigkeiten machen: | Stellen Sie sich CRUD wie einen Werkzeugkasten vor, mit dem Sie immer wieder die gleichen Tätigkeiten machen: | ||
| - | * **Create** – etwas Neues hinzufügen | + | * **Create** – etwas Neues __hinzufügen__ |
| - | * **Read** – vorhandene Daten abrufen | + | * **Read** – vorhandene Daten __abrufen__ |
| - | * **Update** – bestehende Daten ändern | + | * **Update** – bestehende Daten __ändern__ |
| - | * **Delete** – Daten löschen | + | * **Delete** – Daten __löschen__ |
| - | {{:modul:m290: | + | {{:modul:m290_guko: |
| + | //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).// | ||
| ===== CRUD in der Praxis ===== | ===== CRUD in der Praxis ===== | ||
| Zeile 22: | Zeile 23: | ||
| * **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. | ||
| - | CRUD/ | + | In der Praxis |
| - | * **Als SQL-Skript**: | + | ==== 1. In SQL-Skripten ==== |
| + | Ein SQL-Skript ist eine einfache **Textdatei mit SQL-Befehlen** (Dateiendung // | ||
| + | Damit lassen sich Datenbanken **präzise, wiederholbar und nachvollziehbar** verändern. | ||
| - | | + | Typische Fälle: |
| - | an den Server, der wiederum ein **INSERT** in die Datenbank | + | |
| + | | ||
| + | * **Wartungsarbeiten**((Geplante Arbeiten an einer Datenbank, z. B. alte Daten löschen oder neue hinzufügen)). | ||
| - | Sie werden CRUD sowohl in SQL-Skripten (z. B. für Migrationen((SQL-Skripte, | + | Beispiel: Statt 100 Produkte von Hand ins Backend |
| - | , Seeds((SQL-Skripte, | + | |
| - | oder Wartungsarbeiten) als auch indirekt über Backend-Logik (REST((Ein Architekturstil für Webanwendungen. Er nutzt einfache HTTP-Befehle (GET, POST, PUT, DELETE), um Daten zwischen Frontend (z. B. Website/ | + | |
| - | , APIs((„Application Programming Interfaces“ | + | |
| - | ) antreffen. Der Vorteil von SQL-Skripten liegt darin, dass sie nachvollziehbar sind: Sie lassen sich speichern, mehrfach ausführen und es genau dokumentiert, | + | |
| + | ==== 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, | ||
| + | Wenn Sie im Frontend einen Button klicken („Post erstellen“, | ||
| ===== CRUD und SQL ===== | ===== CRUD und SQL ===== | ||
| Zeile 49: | Zeile 53: | ||
| ===== Beispiele (Film-DB) ===== | ===== Beispiele (Film-DB) ===== | ||
| * **Create**: einen Film __hinzufügen__ | * **Create**: einen Film __hinzufügen__ | ||
| - | <WRAP center box 80%>< | + | <WRAP center box 80% round>< |
| INSERT INTO imdb_top_1000 (Series_Title, | INSERT INTO imdb_top_1000 (Series_Title, | ||
| VALUES (' | VALUES (' | ||
| Zeile 55: | Zeile 59: | ||
| * **Read**: Filme ab 2010 mit Top-Bewertung __auslesen__ | * **Read**: Filme ab 2010 mit Top-Bewertung __auslesen__ | ||
| - | <WRAP center box 80%>< | + | <WRAP center box 80% round>< |
| SELECT Series_Title, | SELECT Series_Title, | ||
| FROM imdb_top_1000 | FROM imdb_top_1000 | ||
| Zeile 63: | Zeile 67: | ||
| * **Update**: Genre __aktualisieren__ | * **Update**: Genre __aktualisieren__ | ||
| - | <WRAP center box 80%>< | + | <WRAP center box 80% round>< |
| UPDATE imdb_top_1000 | UPDATE imdb_top_1000 | ||
| SET Genre = ' | SET Genre = ' | ||
| Zeile 70: | Zeile 74: | ||
| * **Delete**: Tuple (Datensatz) __entfernen__ | * **Delete**: Tuple (Datensatz) __entfernen__ | ||
| - | <WRAP center box 80%>< | + | <WRAP center box 80% round>< |
| 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; | ||
| </ | </ | ||
| - | ===== Merksatz ===== | ||
| - | **CRUD ist das „Alphabet“ der Datenarbeit.** Egal ob API-Call oder SQL-Skript – am Ende passieren Create/ | ||