Primärschlüssel

Was ist ein Primärschlüssel?

Als Primärschlüssel bezeichnet man eine Tabellenspalte (oder eine Kombination von Spalten) in einer relationalen Datenbank, mit der sich jeder Tabellensatz eindeutig identifizieren lässt.

Ein Primärschlüssel wird als einmalige Kennung zum schnellen Auslesen von Daten in einer Tabelle verwendet. Dabei kann eine Tabelle nicht mehr als einen Primärschlüssel haben.

Ein Primärschlüssel hat die folgenden Hauptmerkmale:

  • Er muss für jede Datenzeile einen eindeutigen Wert angeben.
  • Er kann keine Nullwerte enthalten.
  • Jede Zeile muss einen Primärschlüsselwert haben.

Ein Primärschlüssel kann ein oder mehrere Felder verwenden, die bereits im zugrunde liegenden Datenmodell vorhanden sind. Alternativ kann ein spezielles zusätzliches Feld erstellt werden, das als Primärschlüssel dient.

Primärschlüssel einfach erklärt

Das Konzept eines Primärschlüssels ist entscheidend für eine effiziente relationale Datenbank. Ohne einen Primärschlüssel und die damit eng verbundenen Fremdschlüssel würden relationale Datenbanken nicht funktionieren.

Da eine Tabelle leicht Tausende von Datensätzen (einschließlich Duplikaten) enthalten kann, ist ein Primärschlüssel erforderlich, um sicherzustellen, dass ein Tabellendatensatz immer eindeutig identifiziert werden kann.

Alle Schlüssel, die von realen Observablen und Attributen stammen, werden als natürliche Primärschlüssel bezeichnet. Im Gegensatz dazu werden Surrogat-Primärschlüssel jedem Datensatz zufällig zugewiesen.

Beispiele eines Primärschlüssels

Fast alle haben im Alltag häufig, aber unbewusst, mit natürlichen Primärschlüsseln zu tun.

So werden beispielsweise für Schüler und Studenten routinemäßig  Identifikationsnummern (ID) vergeben. Alle US-Bürger haben von der Regierung zugewiesene und einmalige Sozialversicherungsnummern. Auch Straßenadressen oder Führerscheinnummern sind Beispiele für Primärschlüssel, die zur Identifizierung von Orten bzw. Fahrzeugen verwendet werden.

Ein weiteres Beispiel: In einer Datenbank müssen alle Daten einer Geschäftsbank gespeichert werden. Zwei der Datenbanktabellen enthalten die CUSTOMER_MASTER, in der grundlegende und statische Kundendaten (Name, Geburtsdatum, Adresse, Sozialversicherungsnummer usw.) erfasst werden, sowie die ACCOUNTS_MASTER mit verschiedenen Kontodaten (Datum der Kontoeröffnung, Kontotyp, Abhebungslimits oder sonstige Kontoinformationen usw.).

Zur eindeutigen Identifizierung von Kunden wird eine Spalte oder eine Kombination von Spalten ausgewählt, um sicherzustellen, dass niemals zwei Kunden denselben Wert haben. Daher werden bestimmte Spalten sofort eliminiert, z. B. Nachname und Geburtsdatum.

Ein guter Primärschlüssel ist die Spalte, die für die Sozialversicherungsnummern vorgesehen ist. Einige Kontoinhaber haben jedoch möglicherweise keine Sozialversicherungsnummern, so dass diese Spalte nicht in Frage kommt.

Die nächste logische Option ist die Verwendung einer Kombination von Spalten, z. B. das Hinzufügen des Nachnamens zum Geburtsdatum und der E-Mail-Adresse, was in einem langen und komplizierten Primärschlüssel resultiert.

Die beste Möglichkeit ist, einen separaten Primärschlüssel in einer neuen Spalte mit dem Namen CUSTOMER_ID zu erstellen. Dann generiert die Datenbank bei jedem Hinzufügen eines Kunden automatisch eine einmalige Nummer, die eine eindeutige Identifizierung ermöglicht.

Bei der Erstellung dieses Schlüssels wird die Spalte in dem SQL-Skript, das die Tabelle erstellt, als Primärschlüssel festgelegt. Alle Nullwerte werden dabei automatisch zurückgewiesen.

Die mit jeder CUSTOMER_ID verbundene Kontonummer ermöglicht eine sichere Bearbeitung von Kundenanfragen und schnelle Suchzeiten (wie bei allen indizierten Tabellen).

Zum Beispiel kann ein Kunde aufgefordert werden, seinen Nachnamen bei einer Bankanfrage anzugeben. Ein verbreiteter Nachname (z. B. Schmidt) wird wahrscheinlich mehrere Ergebnisse liefern. Mit einem Primärschlüssel lässt sich bei Datenabfragen nur ein einziges Suchresultat erzielen.

Verwandte Begriffe

Neueste Datenbank Begriffe

Verwandte Themen

Margaret Rouse

Margaret Rouse ist eine preisgekrönte technische Autorin und Dozentin. Sie ist für ihre Fähigkeit bekannt, komplexe technische Themen simpel und nachvollziehbar zu erklären. In den letzten zwanzig Jahren sind ihre Erklärungen auf TechTarget-Websites erschienen und sie wurde in Artikeln der New York Times, des Time Magazine, USA Today, ZDNet, PC Magazine und Discovery Magazine als Quelle und Expertin zitiert. Wenn Sie einen Vorschlag für eine neue Definition haben oder eine technische Erklärung verbessern möchten, schicken Sie einfach Margaret eine E-Mail oder kontaktieren Sie sie auf LinkedIn oder Twitter.