Skip to content

② Primär- und Fremdschlüssel Klasse 9 ​

An unserer Schule gibt es zwei Schülerinnen mit dem Namen Lena Schmidt. Wie weiß die Datenbank, welche Lena welche Note bekommen hat?

Wichtige Begriffe ​

BegriffBedeutungBeispiel
Tabelle (Relation)speichert alle Entitäten eines TypsTabelle schueler
Datensatzeine Zeile = eine EntitätLena Schmidt, 9b
Attributeine Spaltevorname
Attributwertein einzelner EintragLena

Primärschlüssel ​

Merke: Primärschlüssel

Ein Primärschlüssel ist ein Attribut (oder eine Kombination von Attributen), dessen Wert jeden Datensatz eindeutig identifiziert. Er darf nie doppelt vorkommen und nie leer sein.

schueler_idvornamenachnameklasse
1041LenaSchmidt9b
1187LenaSchmidt7a
1203JonasWeber9b
ArtIdeeBeispiele
natürlicher Schlüsselein Merkmal, das ohnehin eindeutig existiertISBN eines Buchs, Kfz-Kennzeichen
künstlicher Schlüsseleine eigens vergebene Nummer, oft id genanntSchülernummer, Kundennummer, Bestellnummer
zusammengesetzter Schlüsselerst mehrere Attribute zusammen sind eindeutigRaumnummer + Wochentag + Stunde für einen Stundenplaneintrag

Namen sind keine guten Schlüssel

Namen sind nicht eindeutig und können sich ändern (z. B. durch Heirat). Deshalb nimmt man meist künstliche Schlüssel.

Welcher Schlüssel ist das?

Prüfe bei jedem Kandidaten: Ist er wirklich eindeutig? Bleibt er gleich? Und reicht er allein aus?

noch 10 Karten im Vorrat

Mit der Tastatur: Karte mit Tab ansteuern, dann Ziffer 1–4 für den Korb, 0 zurück in den Vorrat.

Weiterdenken: Welcher Schlüssel eignet sich für: Gerichte in der Schulmensa · Sitzplätze in einem Kinosaal · Spielstände in einem Onlinespiel · Parkplätze eines Parkhauses · Einträge im Klassenbuch?

Fremdschlüssel ​

Merke: Fremdschlüssel

Ein Fremdschlüssel ist ein Attribut in einer Tabelle, das auf den Primärschlüssel einer anderen Tabelle verweist. So werden Tabellen miteinander verknüpft. Konvention für den Namen: tabelle_primaerschluessel, z. B. klasse_id

Beziehungen in Tabellen umsetzen ​

1 : n → Fremdschlüssel auf die n-Seite ​

Eine Klasse hat viele Schüler:innen. Deshalb bekommt jede Schülerin einen Verweis auf ihre Klasse. (Andersherum müsste bei der Klasse eine ganze Liste in einem Feld stehen, und das geht nicht.)

klasse

klasse_idbezeichnungraum
79b204

schueler

schueler_idvornameklasse_id
1041Lena7
1203Jonas7

1 : 1 → Fremdschlüssel auf einer der beiden Seiten ​

Schüler:in – Schließfach: schliessfach bekommt den Fremdschlüssel schueler_id (oder umgekehrt).

n : m → eigene Verbindungstabelle ​

Schüler:innen besuchen viele Wahlkurse, Wahlkurse haben viele Teilnehmer:innen. Man braucht eine Hilfstabelle mit zwei Fremdschlüsseln; zusammen bilden sie den Primärschlüssel:

teilnahme

schueler_idkurs_idangemeldet_am
104132025-09-01
104152025-09-02
120332025-09-01

Bibliothek

Die Beziehung „Leser:in leiht aus Buch“ wird genauso zur Tabelle ausleihe(ausweis_nr, buch_id, ausleihdatum).