MINT lernen

Primär- und Fremdschlüssel

Drei Mitglieder heißen Weber — woran erkennt die Datenbank trotzdem, welches gemeint ist?

1

Datensätze eindeutig finden

  • Primärschlüssel:Attribut oder Attributkombination, deren Wert jeden Datensatz eindeutig bestimmt.
  • Bedingungen:nie NULL, in keiner Zeile doppelt — auch nicht bei künftigen Datensätzen.
  • Künstlich:eine eigens vergebene Nummer (MitgliedNr) ist die sicherste Wahl.
  • Zusammengesetzt:reicht ein Attribut nicht, bilden mehrere Attribute gemeinsam den Schlüssel.
  • Schreibweise:im Relationenschema unterstrichen: Mitglied(MitgliedNr, Vorname, Nachname, Geburtsdatum, Wohnort).

Wähle einen Kandidaten und tippe zuerst, ob seine Werte in der Tabelle eindeutig sind. Erst dann deckt „Prüfen“ doppelte Werte farbig auf.

Taugt das als Schlüssel?

Kandidat:

Halte fest: Eindeutig in den heutigen Daten heißt noch nicht geeignet: Ein Primärschlüssel muss auch für jedes künftige Mitglied eindeutig bleiben — Namen und Geburtstage können das nicht garantieren.

Merke

Primärschlüssel: eindeutig, nie NULL, unveränderlich — im Schema unterstrichen.

2

Tabellen verknüpfen

  • Fremdschlüssel:Attribut, dessen Werte auf den Primärschlüssel einer anderen Tabelle verweisen.
  • Schreibweise:mit Pfeil davor: Mitglied(MitgliedNr, Vorname, Nachname, AbtNr) und Abteilung(AbtNr, Name, Trainer).
  • 1:n:eine Abteilung hat viele Mitglieder — der Fremdschlüssel steht auf der n-Seite (bei Mitglied).
  • m:n:ein Mitglied besucht viele Kurse, ein Kurs hat viele Mitglieder — dafür braucht es eine eigene Tabelle Teilnahme(MitgliedNr, KursNr).
  • Integrität:jeder Fremdschlüsselwert muss als Primärschlüsselwert existieren (referentielle Integrität).
Abteilung
AbtNrNameTrainer
A1HandballKrüger
A2SchwimmenÖzdemir
Mitglied
MitgliedNrVornameNachnameAbtNr
M01LeaSchmidtA2
M02JonasWeberA1
M03MiaYilmazA2
Merke

Fremdschlüssel: ↑Attribut — verweist auf den Primärschlüssel einer anderen Tabelle und darf mehrfach vorkommen.

3

Allgemeine Hinweise

Heute eindeutig reicht nicht

Dass in den Beispieldaten kein Nachname doppelt ist, beweist nichts. Beurteile immer, ob Doppelungen grundsätzlich möglich sind.

Fremdschlüssel ist nicht eindeutig

AbtNr steht in Mitglied viele Male — das ist gewollt. Eindeutig muss er nur in seiner eigenen Tabelle Abteilung sein.

Dem Pfeil folgen

Jeder ↑-Pfeil im Schema ist eine Verbindung zwischen zwei Tabellen. Genau diese Paare brauchst du später in der Verbundbedingung.

Videos