Ohne Datenbank vergisst eine App alles, sobald sie stoppt. „Wo liegen die Daten?“ ist eine Frage, die du beim Bauen ständig beantwortest — und dem Agenten vorgibst.
Die Idee
Eine Datenbank ist das Gedächtnis der App — wie ein sehr ordentlicher Aktenschrank. Ohne ihn wäre jeder Instagram-Beitrag nach dem Neuladen verschwunden, jedes Like vergessen.
Wenn du auf Instagram ein Foto postest, wandert die Bildunterschrift in eine Datenbank und das Foto selbst in einen großen Dateispeicher. Tausende Male am Tag, zuverlässig, jahrelang auffindbar — das ist die Arbeit einer Datenbank.
So funktioniert es
Drei Arten, grob:
- SQL (Tabelle): wie eine saubere Tabelle mit festen Spalten. Gut für gleichförmige Daten wie Beiträge oder Nutzer.
- NoSQL (Dokument): flexible „Zettel“ im JSON-Stil. Gut, wenn die Form oft wechselt.
- Blob-/Dateispeicher: für große Dateien (Fotos, Videos).
So legst du in SQL eine posts-Tabelle an — genau mit den Feldern aus unserem Beitrags-Objekt:
CREATE TABLE posts (
id TEXT PRIMARY KEY,
author TEXT NOT NULL,
caption TEXT,
image_url TEXT NOT NULL,
like_count INTEGER NOT NULL DEFAULT 0,
created_at TIMESTAMPTZ NOT NULL DEFAULT now()
);
Ein einzelner Beitrag ist dann eine Zeile:
| id | author | caption | image_url | like_count | created_at |
|---|---|---|---|---|---|
| p_184029 | anna | Sonnenuntergang über Berlin | https://cdn.example/p/a1b2.jpg | 12 | 2026-08-31 09:41 |
Dasselbe als NoSQL-Dokument wäre einfach das JSON-Objekt aus Lektion 01. Entscheidend in beiden Fällen: Das Foto selbst liegt im Blob-Speicher; die Zeile speichert nur image_url, also den Verweis. Datenbanken sind für Fakten da, nicht für dicke Dateien — ein Foto in eine Tabellenzelle zu legen ist langsam und teuer.
So steuerst du es
Faustregel: gleichförmige, verknüpfte Daten → SQL. Sehr wechselnde Formen → NoSQL. Große Binärdateien → Blob (bei Google: Cloud Storage). Die meisten echten Apps mischen: Instagram würde Beiträge und Likes in SQL halten, die Fotos im Blob-Speicher.
So sagst du es dem Agenten:
„Speichere Beiträge in einer SQL-Tabelle
postsmit den Spalten id, author, caption, image_url, like_count, created_at.“„Lege Fotos im Blob-Speicher ab und speichere in der Datenbank nur
image_url, nicht das Foto selbst.“„Setze
like_countmit Default 0 undcreated_atmit Defaultnow().“
Typische Fehler: Fotos direkt in die Datenbank legen; kein Default für like_count (dann steht dort NULL statt 0); oder vergessen, id als Primärschlüssel zu setzen.
Kurz-Check
- Was ist der Unterschied zwischen SQL und NoSQL?
- Wo gehört das Foto hin — und was steht in der
posts-Zeile? - Warum ist ein Default
0fürlike_countsinnvoll?
Antworten anzeigen
- SQL: feste Tabellen mit Schema; NoSQL: flexible Dokumente ohne festes Schema.
- Das Foto in den Blob-Speicher; in der Zeile steht nur
image_url(der Verweis). - Damit ein neuer Beitrag mit 0 statt
NULLstartet — sonst rechnet und zeigt man mit „nichts“ statt „null Likes“.