Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vorschau

Tabellen miteinander verknüpfen (Fremdschlüssel)

Das ist die erste Seite der Lektion. Lies sie und probier die Aufgaben aus. Der Rest steht im ganzen Kurs.

35 Minuten

Der Name steht überall

In der Kursliste steht neben jedem Kurs der Name der Lehrkraft. Jonas Keller leitet zwei Kurse, also steht sein Name zweimal da.

Eines Tages tippt jemand „Keler“ mit einem l. Nun gibt es zwei Lehrkräfte, obwohl es nur eine ist.

Wie vermeidest du das?

Am Ende dieser Lektion

Notiz

Ich kann an zwei Tabellen zeigen, welche Spalte der Fremdschlüssel ist und auf welche Zeile sie zeigt.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
PrimärschlüsselDie Spalte, die jede Zeile eindeutig macht.id in lehrkraefte
FremdschlüsselEine Spalte mit dem Primärschlüssel einer anderen Tabelle.lehrkraft_id in kurse
VerweisDer Zeiger von einer Zeile auf eine Zeile einer anderen Tabelle.
Doppelte DatenDieselbe Angabe, an mehreren Stellen gespeichert.
IntegritätDie Daten bleiben richtig. Kein Verweis führt ins Leere.
REFERENCESDas SQL-Wort, das sagt, auf welche Tabelle der Verweis zeigt.

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Starter: Was du schon weißt

Probier es aus

Starter: Was du schon weißt

4 Fragen
Probieren Sie es aus: Ihre Antworten werden hier bewertet und danach vergessen. Melden Sie sich an, wenn Ihre Punktzahl gespeichert werden soll und Sie später dort weitermachen möchten, wo Sie aufgehört haben.Anmelden, um die Punktzahl zu behalten

Deine Antworten werden hier bewertet und nicht gespeichert. Mit einem Konto bleiben deine Ergebnisse erhalten.

Kopierte Daten machen Ärger

Wenn du eine Angabe in jede Zeile kopierst, entstehen drei Probleme.

  • Tippfehler: „Keller“ und „Keler“ sind zwei Namen.
  • Ändern: Du musst jede Zeile einzeln ändern.
  • Platz: Derselbe Name liegt hundertmal im Speicher.

Finde den fehlenden Kurs

Code: sql
-- Alle Kurse von Jonas Keller, wenn der Name kopiert wurde.
SELECT name FROM kurse_mit_namen WHERE lehrkraft = 'Jonas Keller';

-- Es fehlt ein Kurs! Sieh dir die ganze Tabelle an.
SELECT * FROM kurse_mit_namen;

Zwei Tabellen statt einer

Die Lösung: Jede Lehrkraft steht einmal in der Tabelle lehrkraefte, mit einer Nummer.

In der Tabelle kurse steht nur noch die Nummer. Die Spalte lehrkraft_id verweist auf die Lehrkraft.

Diese Spalte heißt Fremdschlüssel: Sie enthält den Primärschlüssel einer fremden Tabelle.

Beispiel: die Tabelle kurse

idnamelehrkraft_id
1Informatik1
2Musik2
3Fussball3
4Theater2

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Beispiel: die Tabelle lehrkraefte

idvornamenachname
1AnnaBrandt
2JonasKeller
3SabineVogel

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Die Lektion geht weiter

11 weitere Teile dieser Lektion stehen im ganzen Kurs, mit den Aufgaben und der Abschlussprüfung. Mit einem Konto bekommst du alles.