Zum Inhalt springen

Informatik · Klasse 8–13 · aktualisiert

Primärschlüssel einfach erklärt

Du lernst, wie Primärschlüssel Zeilen eindeutig kennzeichnen, wie du passende Schlüssel auswählst und sie von Fremdschlüsseln unterscheidest.

0 von 9 Aufgaben gelöst

Primärschlüssel einfach erklärt

Kurz gesagt

Ein Primärschlüssel kennzeichnet jede Zeile einer Tabelle eindeutig und enthält keine fehlenden Werte. Er besteht aus einer Spalte oder aus mehreren Spalten, deren Werte zusammen eindeutig sind.

Eine Datenbank speichert geordnete Daten, zum Beispiel in Tabellen. Jede Tabellenzeile ist ein Datensatz, also ein zusammengehöriger Eintrag. Jede Spalte beschreibt eine Eigenschaft; sie heißt auch Attribut. Mit einem Primärschlüssel kannst du einen bestimmten Datensatz eindeutig finden.

Deine Lernziele

Hake ab, was du schon kannst. Löst du alle Aufgaben eines Abschnitts, hakt Termi das Ziel für dich ab.

4 Abschnitte

Ein Primärschlüssel besteht aus einer Spalte oder mehreren Spalten. Sein Wert kennzeichnet genau eine Zeile. Bei mehreren Spalten zählt die gesamte Wertekombination. Zwei verschiedene Zeilen dürfen nicht denselben Schlüsselwert haben.

In keiner beteiligten Spalte darf ein Wert fehlen. NULL bezeichnet einen fehlenden Wert. Die Zahl 0 ist dagegen ein vorhandener Wert und als Schlüsselwert möglich, wenn sie noch nicht vergeben ist.

Die Eindeutigkeit muss für alle nach den Regeln erlaubten Einträge gelten, auch für spätere. Dass die Werte in einer kleinen Beispieltabelle verschieden sind, genügt deshalb nicht.

Im theoretischen Modell, also der vereinfachten Beschreibung einer Datenbank, wird der Primärschlüssel aus den Schlüsselkandidaten ausgewählt. Ein Schlüsselkandidat identifiziert Zeilen eindeutig und ist minimal: Keine seiner Spalten kann entfallen, ohne die Eindeutigkeit zu verlieren. Minimal bedeutet dabei nicht, dass jeder Kandidat gleich viele Spalten oder die geringste Spaltenzahl aller Kandidaten hat.

Eine Tabelle kann höchstens einen festgelegten Primärschlüssel haben. Das Datenbankprogramm PostgreSQL prüft bei einem Primärschlüssel Eindeutigkeit und das Verbot von NULL. Es prüft dabei keine Minimalität. Deshalb kann es auch einen Schlüssel mit überflüssigen Spalten annehmen. PostgreSQL erlaubt außerdem Tabellen ohne festgelegten Primärschlüssel.

Definition

Primärschlüssel

Eine ausgewählte Spalte oder Spaltenkombination, deren vorhandene Werte jede Tabellenzeile eindeutig kennzeichnen.

Beispiel: Truhennummern prüfen (ausgedacht)

  1. 1In der Tabelle „Truhen“ ist die Truhennummer der Primärschlüssel.
  2. 2Zwei Einträge tragen die verschiedenen Nummern 41 und 42.
  3. 3Eine weitere Zeile mit Nummer 41 würde die Eindeutigkeit verletzen.
  4. 4Eine Zeile mit NULL als Truhennummer würde das Verbot fehlender Werte verletzen.

Teste dich

LeichtIn der ausgedachten Tabelle „Spielfiguren“ ist die Figurnummer der Primärschlüssel. Farben dürfen mehrfach vorkommen. Welcher Fall verletzt eine Primärschlüsselbedingung?

Alles auf einen Blick

Primärschlüssel

  • Eindeutigkeit

    Kein erlaubter Eintrag darf denselben Primärschlüsselwert wie eine andere Zeile haben.

  • Vorhandene Werte

    NULL ist in jeder Primärschlüsselspalte ausgeschlossen; die Zahl 0 ist kein fehlender Wert.

  • Zusammensetzung

    Mehrere Spalten bilden gemeinsam einen Primärschlüssel; eindeutig sein muss ihre Kombination.

  • Auswahl

    Im theoretischen Modell entfällt jede überflüssige Schlüsselspalte. Stabile Werte sind eine zusätzliche Empfehlung.

  • Verweis

    Ein Fremdschlüssel verweist auf einen zugelassenen eindeutigen Schlüssel; seine Werte dürfen sich wiederholen.

Musteraufgabe · Schritt für Schritt

Einen Schlüssel für Kostüme auswählen (ausgedacht)

  1. 1Aufgabe: Wähle für eine Kostümtabelle einen geeigneten Primärschlüssel. Die Spalten heißen Kennnummer, Kleidungsart und Größe.
  2. 2Die Regeln lauten: Jede Kennnummer ist vorhanden, wird genau einem Kostüm zugeteilt, bleibt gleich und wird später nicht erneut vergeben. Kleidungsart und Größe dürfen sich wiederholen.
  3. 3Die Daten lauten: Kennnummer 61, Mantel, groß; Kennnummer 62, Mantel, klein; Kennnummer 63, Hut, klein.
  4. 4Prüfe die Beschreibungen: Mantel kommt zweimal vor, ebenso die Größe klein. Diese beiden Spalten eignen sich jeweils allein nicht.
  5. 5Wähle die Kennnummer: Sie ist nach den Regeln auch bei späteren Einträgen eindeutig und enthält keine fehlenden Werte.
  6. 6Begründe die Auswahl: Eine Spalte reicht aus, und ihr Wert bleibt gleich. Kleidungsart oder Größe zusätzlich aufzunehmen wäre für die eindeutige Kennzeichnung überflüssig.

Fehler finden

Die Schlüsselwahl für Geräteprüfungen prüfen (ausgedacht) In einer Zeile steckt ein Fehler. Tippe sie an.

Lückentext

Wähl in jeder Lücke das passende Wort und prüf dann deine Antworten.

Alle folgenden Fälle sind ausgedacht. In der Tabelle „Tore“ ist die Tornummer der Primärschlüssel. Nummer 12 ist vergeben, Nummer 13 noch frei. Ein weiteres Tor darf die Nummer erhalten. In der Tabelle „Tagesdienste“ kommt jede Kombination aus Tag und Dienstart höchstens einmal vor. Tage und Dienstarten wiederholen sich einzeln; Werte fehlen nicht. Der Schlüssel aus beiden Spalten ist . Die Tabelle „Werkstätten“ enthält die Werkstattnummern 5 und 9. Eine andere Tabelle verweist mit einem einspaltigen Fremdschlüssel auf diese Nummern. Als vorhandener Zielwert passt .

Karteikasten

Erst selbst überlegen, dann umdrehen.

Übung mit Feedback

Abschluss-Check: Primärschlüssel

LeichtIn der ausgedachten Tabelle „Fahrräder“ ist die Kennnummer der Primärschlüssel. Bisher sind die Nummern 80 und 81 vergeben. Welche Nummer darf ein weiteres Fahrrad erhalten?
MittelEine ausgedachte Fahrzeugtabelle enthält Kennnummer und Farbe. Jede Kennnummer ist vorhanden und dauerhaft eindeutig; Farben dürfen sich wiederholen. Warum passt die Kombination aus Kennnummer und Farbe nicht zur theoretischen Auswahlregel?
SchwerIm ausgedachten Modell hat jeder Besucher genau einen Ausweis. In „Besucher“ ist die Besuchernummer der Primärschlüssel. In „Ausweise“ steht jede Besuchernummer höchstens einmal, fehlt nie und verweist auf einen vorhandenen Besucher. Wie kann diese Spalte in „Ausweise“ verwendet werden?

Weiterlesen in Informatik