Primärschlüssel (Primary Key)
Der Primärschlüssel kommt in relationalen Datenbanken zum Einsatz und wird zur eindeutigen Identifizierung eines Datensatzes verwendet. In einer normalisierten Datenbank besitzen alle Tabellen einen Primärschlüssel.
Der Wert eines Primärschlüssels muss in einer Tabelle einmalig sein, da er jeden Datensatz eindeutig kennzeichnet. Des Weiteren wird er häufig als Datenbank-Index verwendet, um die Daten auf der Festplatte abzulegen.
Welche Arten von Primärschlüsseln gibt es?
Der Primärschlüssel einer Relation kann unterschiedlich aufgebaut sein. Man unterscheidet zwischen eindeutige, zusammengesetzte und künstliche Primärschlüssel.
Eindeutiger Primärschlüssel
Hierbei handelt es sich um einen eindeutigen Schlüssel der in einer Spalte der Tabelle gespeichert wird. Als Spalte kann ein Attribut des Datensatzes verwendet werden, das für jeden Eintrag in der Tabelle einen einmaligen Wert annimmt. Als eindeutiges Primärschlüsselattribut könnte beispielsweise die Sozialversicherungsnummer in einer Mitarbeitertabelle verwendet werden.
Zusammengesetzter Primärschlüssel
Ist ein Datensatz anhand eines Attributes nicht eindeutig identifizierbar, so kann der Primärschlüssel auch aus einer Kombination mehrerer Attribute bestehen. Dabei muss sichergestellt werden, dass jede dieser Kombinationen nur einmalig auftritt. Ein zusammengesetzter Primärschlüssel kann z.B. der Vor- und Nachname, sowie das Geburtsdatum sein.
Künstlicher Primärschlüssel
Gibt es in einer Tabelle keine eindeutigen Spalten bzw. Kombinationen aus Spalten, so kann auch auf einen künstlichen Schlüssel zurückgegriffen werden. Dieser ist auch als Surrogate Key bekannt und wird als zusätzliche Spalte in einer Tabelle eingefügt. In der Praxis wird häufig eine fortlaufende Ganzzahlenfolge verwendet, um einen Datensatz eindeutig identifizieren zu können.
Beispiele für den Einsatz eines Primärschlüssels
- Kunden und Bestellungen:
- Primärschlüssel in der Tabelle „Kunde“: KundeId
- Primärschlüssel in der Tabelle „Bestellung“: BestellIungd
- Die KundeId könnte als Fremdschlüssel in der Tabelle „Bestellung“ verwendet werden, um die Beziehung zwischen einem Kunden und seinen Bestellungen herzustellen.
- Produkte und Produktkategorien:
- Primärschlüssel in der Tabelle „Produkt“: ProduktId
- Primärschlüssel in der Tabelle „Produktkategorie“: KategorieId
- Die KategorieId kann in der Tabelle „Produkt“ als Fremdschlüssel verwendet werden, um anzuzeigen, zu welcher Kategorie jedes Produkt gehört.
- Mitarbeiter und Abteilungen:
- Primärschlüssel in der Tabelle „Mitarbeiter“: MitarbeiterId
- Primärschlüssel in der Tabelle „Abteilung“: AbteilungId
- Die AbteilungId kann in der Tabelle „Mitarbeiter“ als Fremdschlüssel genutzt werden, um die Zugehörigkeit der Mitarbeiter zu bestimmten Abteilungen darzustellen.
- Studenten und Kurse:
- Primärschlüssel in der Tabelle „Student“: Matrikelnummer
- Primärschlüssel in der Tabelle „Kurs“: KursId
- In diesem Fall könnte eine zusätzliche Verbindungstabelle (z.B. „Kursbelegung“) mit den Primärschlüsseln der beiden anderen Tabellen (Matrikelnummer, KursId) die Beziehung zwischen Studenten und den von ihnen belegten Kursen abbilden.
- Bücher und Autoren:
- Primärschlüssel in der Tabelle „Buch“: BuchId
- Primärschlüssel in der Tabelle „Autor“: AutorId
- Auch hier kann eine Verbindungstabelle (z.B. „Buch-Autor“) eingesetzt werden, um darzustellen, welche Bücher von welchen Autoren geschrieben wurden, insbesondere wenn ein Buch mehrere Autoren hat.