Was ist ein Primärschlüssel?

Eine Frau tippt auf einer Tastatur, während sie auf einen großen Computermonitor blickt.

Autoren

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Was ist ein Primärschlüssel?

Ein Primärschlüssel ist eine Spalte oder Spalten in einer Datenbank-Tabelle mit Werten, die jede Zeile oder jeden Datensatz eindeutig identifizieren. Zum Beispiel könnte eine Spalte mit der Mitarbeiter-ID ein Primärschlüssel in einer Tabelle mit Mitarbeiterdaten sein.
 

Primärschlüssel spielen in relationalen Datenbanken eine wichtige Rolle, indem sie die Datenintegrität stärken und eine erfolgreiche Datenabfrage ermöglichen. Außerdem können Primärschlüssel von einem anderen Schlüsseltyp referenziert werden, um Beziehungen zwischen Tabellen in relationalen Datenbanken zu definieren.

Oft genannte Beispiele für Primärschlüssel in verschiedenen Datenbanken sind:

  • Führerscheinnummern
  • ID-Nummern der Mitarbeiter
  • Produktnummern
  • Sozialversicherungsnummern
  • Schüler-ID-Nummern
3D-Design aus Kugeln, die auf einer Schiene rollen

Die neuesten Erkenntnisse und Insights zu KI

Entdecken Sie von Experten kuratierte Erkenntnisse und Neuigkeiten zu KI, Cloud und mehr im wöchentlichen Newsletter Think. 

Schlüssel und relationale Datenbanken verstehen

Bevor Sie sich mit den Einzelheiten von Primärschlüsseln befassen, ist es hilfreich, relationale Datenbanksysteme und die Rollen zu verstehen, die Schlüssel wie Primärschlüssel beim Datenbankdesign spielen.

Relationale Datenbanken enthalten Daten, die in mehreren Tabellen strukturiert sind, mit zusammengehörigen Datenpunkten in verschiedenen Tabellen. Solche Datenbanken werden über relationale Datenbankmanagementsysteme (RDBMS) wie IBM Db2, Oracle Database, Microsoft SQL Server und Open-Source-Datenbanksysteme wie PostgreSQL und mySQL verwaltet.

Structured Query Language (SQL) ist eine gängige Programmiersprache, die für Datenbankinteraktionen verwendet wird, obwohl einige Datenbankmanagementsysteme andere Sprachen unterstützen.

Im Zusammenhang mit Datenbanken ist ein Schlüssel eine Spalte oder eine geordnete Sammlung von Spalten, die zur Identifizierung von Datenzeilen in einer Tabelle verwendet wird. Schlüssel helfen bei der Organisation von Datenbanken, indem sie Beziehungen zwischen verwandten Tabellen aufzeigen, eindeutige Datensätze identifizieren und die Genauigkeit und Integrität von Daten sicherstellen. Diese Vorteile unterstützen erfolgreiche, effiziente SQL-Datenbankabfragen.

Mixture of Experts | 12. Dezember, Folge 85

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Was sind die Merkmale eines Primärschlüssels?

Ein Primärschlüssel, der auch als SQL-Primärschlüssel bezeichnet wird, gibt jedem Datensatz, der einem Primärschlüsselwert zugeordnet ist, eine eindeutige Kennung. Zu den wichtigen Merkmalen der Primärschlüssel gehören:

  • Keine Nullwerte
  • Keine doppelten Werte
  • Kann die Form einer vorhandenen Spalte in einer Tabelle haben (natürlicher Schlüssel) oder als neue Spalte hinzugefügt werden (Ersatzschlüssel)
  • Kann eine einzelne Spalte oder mehrere Spalten enthalten (als zusammengesetzter Primärschlüssel)

Ein Primärschlüssel kann eine vorhandene Spalte in einer einzelnen Tabelle sein. In diesem Fall wird er als natürlicher Schlüssel bezeichnet. Manchmal gibt es jedoch keine einzige Spalte in der Tabelle, die die Primärschlüssel-Beschränkung erfüllt – die Primärschlüssel-Regel, dass Werte eindeutig und nicht null sein müssen.

Unter solchen Umständen kann eine neue Spalte mit eindeutigen Werten, die nicht von den vorhandenen Daten der Tabelle abgeleitet sind, als Primärschlüssel erzeugt werden. Dieser künstlich erzeugte Primärschlüssel wird als Surrogatschlüssel bezeichnet.

Relationale Datenbankverwaltungssysteme bieten in der Regel die Möglichkeit, eindeutige Werte für eine Spalte zu erzeugen, die dann als Surrogatschlüssel verwendet werden können. Ein Beispiel dafür ist die automatische Erhöhungsfunktion von mySQL.

Primärschlüssel können auch zusammengesetzte Schlüssel sein, d. h. sie bestehen aus mehr als einer einzigen Spalte mit Werten.

Zusammengesetzte Primärschlüssel – einzigartige Kombinationen von Spalten, die zur Identifizierung von Datensätzen verwendet werden können – können als Alternative zur Erstellung von Ersatzschlüsseln dienen. Beispielsweise kann eine Spalte mit Kundennachnamen mit einer Spalte mit Geburtsdaten gekoppelt werden, um einen zusammengesetzten Primärschlüssel zu bilden.

Welche Datentypen werden in Primärschlüsseln verwendet?

SQL unterstützt eine Reihe von Datentypen, von timestamp (Datums- und Zeitangaben) bis varchar (Zeichenketten variabler Länge). Aber nicht jeder Datentyp ist eine gute Wahl für Primärschlüssel.

Es wird oft empfohlen, Spalten mit numerischen Werten, insbesondere Ganzzahlen, als Primärschlüssel zu verwenden, da diese in der Regel von relationalen Datenbankmanagementsystemen schneller verarbeitet werden.

Was sind andere wichtige Arten von Schlüsseln?

Zu den weiteren Schlüsseln, die bei der Datenbankverwaltung verwendet werden, gehören:

  • Eindeutige Schlüssel
  • Bewerberschlüssel
  • Superschlüssel
  • Fremdschlüssel

Einzigartige Schlüssel

Primärschlüssel sind eine Teilmenge der eindeutigen Schlüssel. Eindeutige Schlüssel folgen einer so genannten Eindeutigkeitsbeschränkung – der Regel, dass die Werte eines Schlüssels nur gültig sind, wenn sie eindeutig sind. Zwar sind alle Primärschlüssel eindeutige Schlüssel, aber nicht alle eindeutigen Schlüssel sind Primärschlüssel. Das liegt daran, dass eindeutige Schlüssel im Gegensatz zu Primärschlüsseln auch Nullwerte enthalten können.

Bewerberschlüssel

Kandidatenschlüssel sind Schlüssel, die als Primärschlüssel dienen könnten, da sie eindeutige Werte und keine Nullwerte enthalten. Der Unterschied zwischen Primärschlüsseln und Kandidatenschlüsseln besteht darin, dass eine bestehende Tabelle mehrere Kandidatenschlüssel haben kann, aber nur einen Primärschlüssel.

Superschlüssel

Superschlüssel ähneln den zusammengesetzten Primärschlüsseln insofern, als sie mehrere Spalten enthalten können und zur Identifizierung von Datensätzen verwendet werden. Allerdings können Superschlüssel auch mehr Spalten oder Informationen enthalten, als zur eindeutigen Identifizierung eines Datensatzes unbedingt erforderlich sind, während zusammengesetzte Primärschlüssel nicht mehr Spalten oder Daten enthalten, als notwendig sind.

Fremdschlüssel

Ein Fremdschlüssel in einer Tabelle verweist auf einen bestimmten Primärschlüssel in einer anderen Tabelle, um eine Beziehung zwischen den Tabellen zu definieren. Ein Fremdschlüssel in einer Tabelle mit Kundenbestellungsdaten kann sich beispielsweise auf eine Primärschlüsselspalte mit eindeutigen Kunden-IDs beziehen, die Teil einer anderen Tabelle mit Kundendaten ist. Auf diese Weise kann eine Bestellung eines bestimmten Kunden mit wichtigen Informationen über diesen Kunden verknüpft werden, z. B. mit seiner E-Mail-Adresse und seinem Geburtsdatum.

Die Bedeutung referenzieller Integritätsbeschränkungen bei der Definition von Tabellenbeziehungen

Um zu verstehen, wie Primärschlüssel und Fremdschlüssel die Beziehungen zwischen Tabellen in relationalen Datenbanken definieren, ist es hilfreich, die Einschränkungen der referentiellen Integrität zu betrachten.

Referentielle Integritätsbeschränkungen, auch bekannt als referentielle Beschränkungen oder Fremdschlüssel-Beschränkungen, sind Regeln, die verlangen, dass Fremdschlüsselwerte in einer Tabelle mit den Primärschlüsselwerten in einer anderen Tabelle übereinstimmen.

In einer Mitarbeiterdatenbank kann zum Beispiel eine referentielle Integritätsbeschränkung festlegen, dass jeder Mitarbeiter in der Tabelle EMPLOYEE Mitglied einer Abteilung des Unternehmens sein muss, die in der Tabelle DEPARTMENT aufgeführt ist.

In diesem Fall ist der Primärschlüssel der Tabelle DEPARTMENT eine Spalte, die eindeutige Abteilungsnummern speichert, während der Fremdschlüssel der Tabelle EMPLOYEE eine Spalte ist, die dieselben eindeutigen Abteilungsnummern speichert. Diese übereinstimmenden Spalten bedeuten, dass die Tabellen die Fremdschlüssel-Beschränkung einhalten.

Da die Tabelle DEPARTMENT den Primärschlüssel beherbergt, auf den der Fremdschlüssel der Tabelle EMPLOYEE verweist, wird der Schlüssel EMPLOYEE als von der Tabelle DEPARTMENT abhängig betrachtet. Die Tabelle DEPARTMENT wiederum ist die „übergeordnete Tabelle“ in dieser Tabellenbeziehung.

Referentielle Integritätsbeschränkungen können fehlerhafte Dateneingaben in Datenbanken verhindern. Solche Einschränkungen würden zum Beispiel verhindern, dass ein Benutzer einen Mitarbeiterdatensatz zur Tabelle EMPLOYEE hinzufügt (wie unten abgebildet), wenn die Abteilungsnummer in diesem Mitarbeiterdatensatz nicht in DEPARTMENT TABLE existiert.

Ein Diagramm, das zeigt, wie Primärschlüssel- und Fremdschlüsselbeschränkungen das Einfügen eines ungültigen Datensatzes in eine Tabelle verhindern können.

Welche anderen Konzepte und Praktiken beziehen sich auf Primärschlüssel?

Indexe

Relationale Datenbankverwaltungssysteme können einen eindeutigen Index für jeden Primärschlüssel in der Datenbank erstellen oder verlangen, dass ein solcher erstellt wird. Im Kontext des Datenbankdesigns ist ein Index ein Satz von Zeigern, die auf Zeilen in einer Tabelle verweisen. Indizes können zur Verbesserung der Leistung eingesetzt werden, einschließlich der Optimierung des Datenabrufs.

Datenmodellierung

Datenmodellierung bietet eine visuelle Darstellung eines Datenbankschemas oder eines Entwurfs für Datenbeziehungen zwischen Tabellen in einer Datenbank. Datenmodelle können Informationen zu den Primär- und Fremdschlüsseln enthalten, die zur Pflege dieser Beziehungen verwendet werden.

SQL-Anweisungen

SQL-Anweisungen sind Befehle zur Interaktion mit relationalen Datenbanken. Gemäß der SQL-Syntax können Primärschlüssel für Tabellen mit CREATE TABLE- oder ALTER TABLE-Anweisungen zugewiesen oder hinzugefügt werden.

Betrachten Sie beispielsweise eine CREATE TABLE-Anweisung für eine Tabelle mit Mitarbeiternamen namens EMP mit IBM Db2. Die Spaltennamen lauten ID (für Mitarbeiter-ID) sowie FIRSTNME und LASTNAME (mit jeweils maximal 15 Zeichen). Wenn ID als Primärschlüssel ausgewählt wird, könnte die Anweisung so aussehen:

CREATE TABLE EMP
    (ID INT NOT NULL,
    FIRSTNME VARCHAR (15) NOT NULL,
    LASTNAME VARCHAR (15) NOT NULL,
  PRIMARY KEY (ID));

 

In ALTER TABLE-Anweisungen (für bestehende Tabellen) in Db2 ist eine Klausel zum Hinzufügen eines Primärschlüssels ADD PRIMARY KEY, während Fremdschlüssel durch ADD CONSTRAINT in Kombination mit einem Verweis auf die übergeordnete Tabelle hinzugefügt werden.

Weiterführende Lösungen
Datenbanksoftware und -lösungen

Mit IBM Datenbanklösungen können Sie verschiedene Workload-Anforderungen in der Hybrid Cloud erfüllen.

Datenbank-Lösungen erkunden
Cloudnativ-Datenbank mit IBM Db2

Erfahren Sie mehr über IBM Db2: eine relationale Datenbank, die hohe Leistung, Skalierbarkeit und Zuverlässigkeit für das Speichern und Verwaltung strukturierter Daten bietet. Die Lösung ist als SaaS in der IBM Cloud oder als Self-Hosting-Option verfügbar.

Db2 entdecken
Beratungsservices für Daten und Analysen

Erschließen Sie den Wert von Unternehmensdaten mit IBM Consulting und bauen Sie ein erkenntnisorientiertes Unternehmen auf, das Ihnen geschäftliche Vorteile verschafft.

Analyse-Services entdecken
Machen Sie den nächsten Schritt

Mit IBM Datenbanklösungen können Sie verschiedene Workload-Anforderungen in der Hybrid Cloud erfüllen.

Datenbank-Lösungen erkunden IBM Db2 entdecken