MB Dev .tech
Registrieren Login

SQL · Datenbank Grundlagen

← Zurück zu SQL Basics

Bevor wir SQL schreiben, brauchst du ein klares Bild davon, was eine Datenbank ist und wie Daten dort organisiert sind. Wenn du diese Grundlagen verstanden hast, werden SELECT, JOIN und Co. deutlich einfacher.

Merke
Eine Datenbank ist wie ein gut sortierter Aktenschrank

Tabellen sind „Ordner“, Zeilen sind „Blätter“, Spalten sind „Felder“. SQL ist die Sprache, um gezielt zu suchen und zu ändern.

1) Die wichtigsten Begriffe (ganz simpel)

In relationalen Datenbanken (z.B. MySQL/MariaDB) arbeitest du meistens mit diesen Bausteinen:

  • Datenbank: Container für Tabellen (z.B. „shop“)
  • Tabelle: Sammlung von Datensätzen (z.B. „customers“)
  • Spalte: Eigenschaft/Feld (z.B. „email“)
  • Zeile: ein Datensatz (z.B. ein Kunde)
  • Primärschlüssel (Primary Key): eindeutige ID pro Zeile
  • Fremdschlüssel (Foreign Key): Verknüpfung zu einer anderen Tabelle
Tipp
Denk in „Objekten“ aus der Praxis

Kunden, Bestellungen, Produkte, Rechnungen – das sind typische Tabellen. Eine Bestellung „gehört“ zu einem Kunden → das ist eine Relation.

2) Beispiel aus der Praxis: Mini-Shop

Wir benutzen hier absichtlich ein einfaches, fiktives Beispiel: Ein kleiner Online-Shop mit Kunden und Bestellungen.

Tabellen (gedanklich)

customers
- id (Primary Key)
- name
- email

orders
- id (Primary Key)
- customer_id (Foreign Key → customers.id)
- total_cents
- created_at

Wichtig ist hier die Spalte orders.customer_id. Sie sagt: „Diese Bestellung gehört zu genau einem Kunden.“

Merke
Relation bedeutet: Tabellen hängen logisch zusammen

Ein Kunde kann viele Bestellungen haben (1:n), aber jede Bestellung gehört zu genau einem Kunden.

3) Warum arbeitet man mit IDs statt mit Namen?

Anfänger denken oft: „Warum speichere ich nicht einfach den Kundennamen in der Bestellung?“ Klingt erst mal einfacher, macht aber später Probleme.

  • Namen können sich ändern („Müller“ → „Müller-Schmidt“)
  • Namen sind nicht eindeutig (es gibt mehrere „Alex“)
  • Du würdest Daten doppelt speichern (und doppelt pflegen)
Achtung
Doppelte Daten sorgen fast immer für Chaos

Wenn du denselben Namen an 10 Stellen speicherst und er ändert sich, musst du 10 Stellen korrekt aktualisieren. Das geht oft schief.

4) Normalisierung (ganz grob – ohne Mathe)

Normalisierung ist ein Begriff dafür, dass du Daten so speicherst, dass sie nicht unnötig doppelt vorkommen und dass Zusammenhänge klar sind.

Für den Einstieg reicht diese Faustregel:

Merke
Ein Fakt soll möglichst nur an einer Stelle gespeichert werden

Kundendaten gehören in die Kunden-Tabelle. Bestelldaten gehören in die Bestell-Tabelle. Verbunden wird über IDs.

5) Datentypen (warum sie wichtig sind)

Jede Spalte hat einen Datentyp: Text, Zahl, Datum usw. Datentypen helfen der Datenbank zu verstehen, was erlaubt ist – und sie helfen bei Performance.

Beispiele für Datentypen

id           INT
email        VARCHAR(255)
total_cents  INT
created_at   DATETIME
Tipp
Geld nie als „Float“ speichern

Speichere Beträge lieber als ganze Zahl in Cent (z.B. 1999 für 19,99), weil Float-Rundungen sonst „komische“ Ergebnisse liefern können.

6) Was macht man typischerweise mit SQL?

Fast alles in Datenbanken lässt sich mit vier Grundaktionen beschreiben:

CRUD

Create  → INSERT  (neu anlegen)
Read    → SELECT  (lesen/abfragen)
Update  → UPDATE  (ändern)
Delete  → DELETE  (löschen)
Nächster Schritt
SELECT & WHERE

Als erstes lernen wir das Wichtigste überhaupt: Daten abfragen – gezielt und ohne zu viel zu holen.