Primary Key
Ein Primärschlüssel ist die Spalte oder Spaltenkombination, die jede Zeile einer Tabelle eindeutig identifiziert — nicht null und eindeutig; die Zeilenidentität.
Zweck
Jeder Zeile eine eindeutige Identität geben, für exakte Suchen und relationale Verweise.
Mechanismus
Primärschlüsselwerte sind eindeutig und nicht null (NOT NULL + UNIQUE). Sie können ein- oder mehrspaltig sein, meist Auto-Increment-Ganzzahlen oder UUIDs. Der Clustered-Index liegt oft auf dem Primärschlüssel (Zeilendaten in Primärschlüsselreihenfolge). Die Wahl des Schlüssels beeinflusst Einfügeleistung und Speicherbedarf.
Anwendungsfälle
- Eindeutige Zeilenidentifikation
- Ziel von Fremdschlüsselverweisen
- Clustered-Index
- Identität von ORM-Entitäten
Beispiele
- Eingabe
id BIGSERIAL PRIMARY KEYOutputAuto-incrementing primary keyPostgreSQL
Häufige Fehler
- Using a business field as the primary key (it may change)
- Use a meaningless auto-increment ID or UUID
Verwandte Begriffe
Foreign Key
Ein Fremdschlüssel ist eine Spalte, die auf den Primärschlüssel einer anderen Tabelle verweist, stellt referenzielle Integrität zwischen Tabellen her und verhindert verwaiste Verweise. GLOSSAR
Index
Ein Index ist eine Hilfsdatenstruktur (z. B. B+-Baum, Hash), die zur Abfragebeschleunigung gepflegt wird — Raum wird gegen Zeit getauscht, auf Kosten von Schreibaufwand. GLOSSAR
JOIN
JOIN ist die SQL-Operation, die Zeilen mehrerer Tabellen über eine Join-Bedingung verknüpft; Typen sind Inner-, Left/Right/Full-Outer- und Cross-Joins. GLOSSAR
Normalization
Datenbank-Normalisierung ist der Prozess, Tabellen zu zerlegen, um Redundanz und Update-Anomalien zu beseitigen, mit Normalformen von der 1NF bis BCNF/5NF, die zunehmend strenger werden. GLOSSAR