Primärschlüssel: Unterschied zwischen den Versionen

Aus FLBK-Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Weiterleitung nach Schlüssel#Primärschlüssel erstellt
Markierung: Neue Weiterleitung
 
Zeile 1: Zeile 1:
Ein '''Primärschlüssel''' (engl. ''primary key'') ist in einer [[Relationale Datenbank|relationalen Datenbank]] ein [[Schlüssel]] zur eindeutigen Identifizierung eines Datensatzes in einer [[Datenbanktabelle]].
#redirect[[Schlüssel#Primärschlüssel]]
 
== Definition und Eigenschaften ==
[[Datei:Datenbanktabelle.jpg|mini]]
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 [[Beziehung (Datenbank)|Beziehungen]] zwischen Tabellen über [[Fremdschlüssel]]
* Erstellung von [[Datenbankindex|Indizes]] für performante Datenabfragen
* Vermeidung von Datenduplikaten
 
== Beispiel ==
In einer Tabelle "Mitarbeiter" könnte der Primärschlüssel so definiert werden:
<syntaxhighlight lang="sql">
CREATE TABLE `mydb`.`Mitarbeiter` (
    `idMitarbeiter` INT NOT NULL ,
    `Vorname` VARCHAR(45) NULL ,
    `Nachname` VARCHAR(45) NULL ,
    `FKSalon` INT NOT NULL ,
    PRIMARY KEY (`idMitarbeiter`)
);
</syntaxhighlight>
 
[[Kategorie:Datenbanken]]
[[Kategorie:FI_I_SDM]]
[[Kategorie:FI_I_TP2]]

Aktuelle Version vom 26. November 2025, 10:58 Uhr

Weiterleitung nach: