Primärschlüssel
Ein Primärschlüssel (engl. primary key) ist in einer relationalen Datenbank ein Schlüssel zur eindeutigen Identifizierung eines Tupels (Datensatzes) in einer Tabelle.
Definition und Eigenschaften
Der Primärschlüssel wird aus der Menge der Schlüsselkandidaten einer Tabelle ausgewählt und muss folgende Eigenschaften erfüllen:
- Eindeutigkeit: Jeder Wert des Primärschlüssels darf in der Tabelle nur einmal vorkommen
- Nicht-NULL: Der Primärschlüssel darf keinen NULL-Wert enthalten
- Minimalität: Der Primärschlüssel soll aus möglichst wenigen Attributen bestehen
- Stabilität: Die Werte des Primärschlüssels sollten sich während der Lebensdauer des Datensatzes nicht ändern
Arten von Primärschlüsseln
Natürlicher Schlüssel
Ein natürlicher Schlüssel besteht aus Attributen, die bereits in den Geschäftsdaten vorhanden sind (z.B. Personalnummer, ISBN-Nummer).
Künstlicher Schlüssel
Ein künstlicher Schlüssel wird speziell für die Datenbank erzeugt und hat keine natürliche Bedeutung in den Geschäftsdaten (z.B. automatisch generierte IDs).
Bedeutung
Primärschlüssel sind fundamental für:
- Gewährleistung der Datenintegrität
- Aufbau von Beziehungen zwischen Tabellen über Fremdschlüssel
- Erstellung von Indizes für performante Datenabfragen
- Vermeidung von Datenduplikaten
Beispiel
In einer Tabelle "Mitarbeiter" könnte der Primärschlüssel so definiert werden:
CREATE TABLE `mydb`.`Mitarbeiter` (
`idMitarbeiter` INT NOT NULL ,
`Vorname` VARCHAR(45) NULL ,
`Nachname` VARCHAR(45) NULL ,
`FKSalon` INT NOT NULL ,
PRIMARY KEY (`idMitarbeiter`)
);