Ein Primärschlüssel identifiziert jeden Datensatz in einer Tabelle eindeutig. Keine zwei Zeilen haben denselben Primärschlüsselwert. Der Schlüssel darf nicht null sein. Er muss eindeutig und unveränderlich sein. In einer Kundentabelle könnte der Primärschlüssel beispielsweise eine Kunden-ID sein. In einer Bestelltabelle könnte es eine Bestellnummer sein. Der Primärschlüssel ist der Anker für den Datensatz. Andere Tabellen verweisen über Fremdschlüssel darauf. Ohne Primärschlüssel lassen sich Datensätze nur schwer zuverlässig identifizieren, aktualisieren oder löschen.
Primärschlüssel gibt es in zwei Formen. Natürliche Schlüssel werden aus den Daten selbst abgeleitet, z. B. eine Sozialversicherungsnummer, eine E-Mail-Adresse oder eine Produkt-SKU. Sie sind aussagekräftig, können sich aber ändern. Personen ändern ihre E-Mail-Adressen, Unternehmen ihre Produktcodes. Künstliche Schlüssel hingegen werden vom System generiert, z. B. automatisch inkrementierende Ganzzahlen oder UUIDs. Sie haben außerhalb der Datenbank keine Bedeutung und ändern sich nie. Künstliche Schlüssel werden im Allgemeinen bevorzugt, da Stabilität wichtiger ist als die Bedeutung. Ein sich ändernder natürlicher Schlüssel erzwingt Aktualisierungen in allen Tabellen, die ihn referenzieren. Ein künstlicher Schlüssel bleibt hingegen immer gleich. Manche Tabellen verwenden zusammengesetzte Primärschlüssel aus zwei oder mehr Spalten. Eine Bestellposition könnte beispielsweise durch die Kombination aus Bestellnummer und Positionsnummer identifiziert werden. Zusammengesetzte Schlüssel funktionieren zwar, erschweren aber Joins und Fremdschlüsselreferenzen. Ein einzelner künstlicher Schlüssel ist einfacher.
Primärschlüsseleigenschaften
- Einzigartig – keine Duplikate
- Nicht null – hat immer einen Wert
- Stabil – verändert sich nicht im Laufe der Zeit
- Einzeln oder zusammengesetzt – eine Spalte oder mehrere
- Indexiert – automatisch für schnelle Suchvorgänge
Ein Primärschlüssel dient der Identifizierung. Er legt fest, dass es sich um genau diesen Datensatz handelt und um keinen anderen. Ohne ihn haben die Daten keinen Anker.
Comments
No comments yet. Be the first to share a thought.
Leave a comment