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 22:33] – gkoch | modul: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** | + | **CRUD** |
| - | CRUD ist überall: in Web-Apps, REST-APIs, Admin-Backends, | + | Diese vier Operationen |
| - | {{:modul: | + | 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 ===== | + | {{: |
| - | * Ich kann **CRUD** in eigenen Worten erklären. | + | // |
| - | * Ich kann CRUD-Operationen zu **REST-API** und **SQL** zuordnen. | + | |
| - | * Ich verstehe, warum CRUD als **Skript** | + | |
| ===== CRUD in der Praxis ===== | ===== CRUD in der Praxis ===== | ||
| - | ^ CRUD ^ Web/REST (Beispiel Zalando-Shop) | + | CRUD begegnet Ihnen nicht nur in der Datenbank, sondern überall in der Informatik. |
| - | | **Create** | + | Beispiel: Ein Social-Media-Post |
| - | | **Read** | + | |
| - | | **Update** | + | |
| - | | **Delete** | + | |
| - | --- | + | * **Create** → Sie schreiben einen neuen Post → er wird in der Datenbank gespeichert. |
| + | * **Read** → Andere Nutzer: | ||
| + | * **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. | ||
| - | ==== Warum das wichtig ist ==== | + | In der Praxis stossen Sie als Mediamatiker: |
| - | | + | ==== 1. In SQL-Skripten ==== |
| - | Ob im Webshop oder direkt in der Datenbank – es geht immer um CRUD. | + | Ein SQL-Skript ist eine einfache |
| - | | + | Damit lassen sich Datenbanken |
| - | | + | Typische Fälle: |
| - | | + | |
| - | | + | |
| + | * **Wartungsarbeiten**((Geplante Arbeiten an einer Datenbank, | ||
| - | * **Schneller & sicherer** | + | Beispiel: Statt 100 Produkte von Hand ins Backend einzutragen, |
| - | Ein SQL-Skript | + | |
| - | CSV-Importe per GUI sind fehleranfällig: | + | |
| - | Mit Skripten ist das Ergebnis immer gleich – egal, auf welchem Rechner oder in welcher Umgebung. | + | |
| + | ==== 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 ===== | ||
| + | |||
| + | 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** | ||
| + | | **Read** | ||
| + | | **Update** | ||
| + | | **Delete** | ||
| ===== 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 45: | 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 53: | 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 60: | 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/ | ||