Datenbanken benötigen Schlüssel zum Speichern, Sortieren und Vergleichen oder zum Erstellen von Beziehungen zwischen Datensätzen. Wenn Sie schon eine Weile in Datenbanken waren, haben Sie wahrscheinlich von verschiedenen Schlüsseltypen gehört: Primärschlüssel, Kandidatenschlüssel und Fremdschlüssel. Beim Erstellen einer neuen Datenbanktabelle werden Sie aufgefordert, einen Primärschlüssel auszuwählen, der jeden in dieser Tabelle gespeicherten Datensatz eindeutig identifiziert.
Warum ein Primärschlüssel wichtig ist
Die Auswahl eines Primärschlüssels ist eine der wichtigsten Entscheidungen, die Sie beim Entwurf einer neuen Datenbank treffen müssen. Die wichtigste Einschränkung ist, dass Sie sicherstellen müssen, dass der ausgewählte Schlüssel eindeutig ist. Wenn es möglich ist, dass zwei Datensätze - Vergangenheit, Gegenwart oder Zukunft - denselben Wert für ein Attribut haben, ist dies eine schlechte Wahl für einen Primärschlüssel.
Ein weiterer wichtiger Aspekt eines Primärschlüssels ist die Verwendung durch andere Tabellen, die in einer relationalen Datenbank mit ihm verbunden sind. In diesem Aspekt wirkt ein Primärschlüssel wie das Ziel eines Zeigers. Aufgrund dieser Abhängigkeiten muss beim Erstellen eines Datensatzes ein Primärschlüssel vorhanden sein, der sich niemals ändern kann.
Schlechte Auswahlmöglichkeiten für Primärschlüssel
Was manche Leute für eine naheliegende Wahl eines Primärschlüssels halten, kann stattdessen eine schlechte Wahl sein. Hier einige Beispiele:
- Postleitzahlen Machen Sie keine guten Primärschlüssel für eine Tabelle von Städten. Wenn Sie eine einfache Nachschlagetabelle für Städte erstellen, scheint die Postleitzahl ein logischer Primärschlüssel zu sein. Nach weiteren Untersuchungen können Sie jedoch feststellen, dass mehrere Städte eine Postleitzahl teilen. Beispielsweise teilen die Städte New Jersey, Neptune, Neptune City, Tinton Falls und Wall Township die Postleitzahl 07753.
- Sozialversicherungsnummern machen Sie aus vielen Gründen keine guten Primärschlüssel. Die meisten Leute betrachten ihr SSN als privat und möchten, dass es für Datenbankbenutzer nicht sichtbar ist. Einige Menschen haben keine SSNs - Ausländer oder Einwanderer, die noch nie eine Sozialversicherungskarte erhalten haben. SSNs können auch nach dem Tod einer Person wiederverwendet werden. Eine Einzelperson kann mehr als ein SSN im Laufe eines Lebens haben, wenn die Sozialversicherungsverwaltung im Fall von Betrug oder Identitätsdiebstahl eine neue Nummer ausgibt.
- E-mailadressen sind auch eine schlechte Wahl für einen Primärschlüssel. Obwohl sie einzigartig sind, können sie sich im Laufe der Zeit ändern. Außerdem hat nicht jeder eine E-Mail-Adresse.
Auswahl eines effektiven Primärschlüssels
Was macht also einen guten Primärschlüssel aus? In den meisten Fällen wenden Sie sich zur Unterstützung an Ihr Datenbanksystem.
Eine bewährte Methode beim Datenbankdesign ist die Verwendung eines intern generierten Primärschlüssels. Ihr Datenbankverwaltungssystem kann normalerweise eine eindeutige Kennung generieren, die außerhalb des Datenbanksystems keine Bedeutung hat. Beispielsweise können Sie den Microsoft Access AutoNumber-Datentyp verwenden, um ein Feld mit dem Namen RecordID zu erstellen. Der Datentyp "AutoNumber" erhöht das Feld jedes Mal automatisch, wenn Sie einen Datensatz erstellen. Die Nummer selbst ist zwar bedeutungslos, bietet jedoch eine zuverlässige Möglichkeit, einen individuellen Datensatz in Abfragen zu referenzieren.
Ein guter Primärschlüssel ist normalerweise kurz, verwendet Zahlen und vermeidet Sonderzeichen oder eine Mischung aus Groß- und Kleinbuchstaben, um ein schnelles Suchen und Vergleichen der Datenbank zu ermöglichen.