Der Unterschied zwischen composite key, foreign key und primary key zeigt auf einfache Weise die komplexe und teils unübersichtliche Natur der relationalen Datenbankstandards. Diese machen Datenbankverwaltung zu einer fortgeschrittenen Aufgabe, mit speziellen Fähigkeiten.
Primary Key (Primärschlüssel)
Zunächst identifiziert ein primary key jeden Datensatz in einer Datenbanktabelle auf eindeutige Weise. Jeder einzelne Schlüssel, der dies tut, kann als Kandidatenschlüssel bezeichnet werden, aber nur einer kann von Datenbankingenieuren als Primärschlüssel ausgewählt werden.
Composite key (zusammengesetzter Schlüssel)
Als Nächstes gibt es den composite key, der aus zwei oder mehr Attributen besteht, die zusammen jeden Datensatz eindeutig identifizieren.
Ein Beispiel wäre eine Liste von Häusern in einem Immobilienmarkt. In einer gut geordneten Datenbank sollte es einen Primärschlüssel geben, der jeden Datensatz eindeutig identifiziert.
In manchen Fällen werden die Häuser nur durch eine Hypothekennummer eindeutig identifiziert – anderen Daten (Orte, Straßen, Hausnummern) sind nicht eindeutig für jeden Datensatz. Die Hypothekennummer wäre dann der Primärschlüssel. Nehmen wir jedoch an, dass die Listing-Technologie eines MLS-Maklers den Datensätzen in der Tabelle ihre eigenen eindeutigen Nummern zuweist.
Dann gibt es zwei Schlüssel, die Entwickler als “Kandidatenschlüssel” bezeichnen könnten:
- Die Hypothekennummer.
- Die MLS-Nummer.
Einer von ihnen wird sich als “Primärschlüssel” qualifizieren, was durchals als willkürlich ansehen werden kann.
Ein composite key wäre dann die Kombination aus zwei Schlüsseln.
Ein Beispiel: Die Kombination aus Hausnummer und Straße könnte ein zusammengesetzter Schlüssel sein, da die Marktangebote lokal sind. Wenn dies der Fall ist, sollte bei einer Suche nach der Hausnummer und der Straße nur ein einziger Datensatz zurückgegeben werden.
Foreign key (Fremdschlüssel)
Wenn es in einer verknüpften Tabelle, z. B. einer Käufertabelle, einen Schlüssel gibt, der auf den Primärschlüssel verweist, handelt es sich um einen foreign key.
Während ein primary key und ein composite key die gleichen Aufgaben erfüllen können, besteht der primary key aus einer Spalte, während der composite key aus zwei oder mehr Spalten besteht.
Die Beziehung zwischen primary key und foreign key ist sehr unterschiedlich. Das Wichtigste dabei ist, dass der primary key in einer Datenbanktabelle zum foreign key in einer anderen Datenbanktabelle wird, und umgekehrt.
Ein foreign key in einer Datenbanktabelle wird aus einer anderen Tabelle entnommen und angewendet, um Datenbankeinträge mit dieser Fremdtabelle zu verknüpfen.
Der foreign key in der Datenbanktabelle ist eigentlich der primary key der anderen Tabelle.
Um dies zu verdeutlichen, hier ein Beispiel: Wenn wir eine Datenbanktabelle mit der Bezeichnung “Bestellungen” und einen foreign key mit der Bezeichnung “Kunden” haben, können wir diesen foreign keys vielleicht mit einem primary key verknüpfen, der jeden Kunden in einer separaten Tabelle identifiziert.
Zusammengefasst: All diese Verknüpfungen von Key Kategorien zeigen, wie detailliert die Erstellung anspruchsvoller Muster und Beziehungen in relationalen Datenbanksystemen ist.
Datenbankingenieure kennen diese Kategorien und Attribute genau und wenden sie an, um sicherzustellen, dass die von den Endbenutzern ausgelösten SQL-Abfragen und anderen Datenabrufmethoden effektiv sind.
Zusammen mit der Datenbanknormalisierung und der Förderung strukturierter Daten sind diese Key Beziehungen Kernbestandteile der Integrität von Datenbanksystemen und der besten Praktiken für die Datenspeicherung.