Schlüssel, Beziehungen und JOINs
"Mehrere Tabellen über stabile Schlüssel verbinden."
Konzepte verständlich erklärt (für Einsteiger jeden Alters)
Lernziele
Mehrere Tabellen über stabile Schlüssel verbinden. Nach dieser Lektion kannst du das Konzept erklären, ein kleines Beispiel umsetzen und typische Grenzen benennen.
Erklärung
Ein Primärschlüssel identifiziert eine Zeile; ein Fremdschlüssel verweist auf eine andere Tabelle. JOIN verbindet passende Zeilen. Ein LEFT JOIN bewahrt alle Zeilen der linken Seite auch ohne Treffer rechts.
Schrittweises Beispiel
orders.customer_id verweist auf customers.id. Der Join erfolgt über diese Beziehung statt über zufällig gleiche Namen.
query = "SELECT orders.id, customers.name FROM orders JOIN customers ON orders.customer_id = customers.id;"
print(query)
Zusammenfassung
Datenmodell und Join-Bedingung müssen dieselbe fachliche Beziehung ausdrücken.
Lerncheck & Übung
Etwa 30 Minuten · beginner
Das lernst du
- Erkläre die Kernidee von „Schlüssel, Beziehungen und JOINs“ in eigenen Worten.
- Wähle eine passende Technik für einen konkreten Anwendungsfall.
- Erkenne mindestens eine typische Fehlerquelle.
Voraussetzungen
- Keine Zugriffsvoraussetzungen. Vorwissen wird in der Erklärung eingeführt.
Häufige Fehler
- Ein Join ohne passende Bedingung erzeugt ein kartesisches Produkt. Nicht eindeutige Schlüssel vervielfachen Zeilen und verfälschen Summen.
Wissenscheck
Praktische Aufgabe
Schreibe den Join von `orders` zu `customers` über customer_id und id.
Die Aufgabe entwirft SQL-Abfragen. In dieser Plattform ist keine SQL-Laufzeit aktiviert; der Editor führt eine harmlose Python-Darstellung aus und sendet SQL nicht an eine Datenbank.
Quellen und Einordnung
Prüfe meine Erklärung zu „Schlüssel, Beziehungen und JOINs“: Nenne eine fehlende Annahme und stelle mir eine Gegenfrage.
Interaktive Übung & lokaler Testlauf
Schreibe den Join von `orders` zu `customers` über customer_id und id.
Hinweise auf Wunsch anzeigen
- Zerlege die Aufgabe in Eingabe, Verarbeitung und erwartete Ausgabe.
- Prüfe auch einen leeren oder ungültigen Fall.