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:
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.
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:
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.
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.
Zu den weiteren Schlüsseln, die bei der Datenbankverwaltung verwendet werden, gehören:
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.
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 ä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.
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.
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.
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 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 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:
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.
Mit IBM Datenbanklösungen können Sie verschiedene Workload-Anforderungen in der Hybrid Cloud erfüllen.
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.
Erschließen Sie den Wert von Unternehmensdaten mit IBM Consulting und bauen Sie ein erkenntnisorientiertes Unternehmen auf, das Ihnen geschäftliche Vorteile verschafft.