Datenbanken sind auf Schlüssel angewiesen, um Datensätze zu speichern, zu sortieren und zu vergleichen oder Beziehungen zwischen Datensätzen herzustellen. Wenn Sie sich schon eine Weile mit Datenbanken beschäftigen, haben Sie wahrscheinlich schon von verschiedenen Arten von Schlüsseln gehört: Primärschlüssel, Kandidatenschlüssel und Fremdschlüssel.
Wenn Sie eine neue Datenbanktabelle erstellen, 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 kritischsten Entscheidungen, die Sie beim Design einer neuen Datenbank treffen werden. Die wichtigste Einschränkung besteht darin, 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 seine Verwendung durch andere Tabellen, die auf ihn in einer relationalen Datenbank verlinken. In diesem Aspekt fungiert ein Primärschlüssel als Ziel eines Zeigers. Aufgrund dieser gegenseitigen Abhängigkeiten muss ein Primärschlüssel vorhanden sein, wenn ein Datensatz erstellt wird, und er kann sich nie ändern.
Schlechte Wahl für Primärschlüssel
Was einige Leute als offensichtliche Auswahl für einen Primärschlüssel betrachten, könnte stattdessen eine schlechte Wahl sein. Hier sind ein paar Beispiele:
- Postleitzahlen sind keine guten Primärschlüssel für eine Städtetabelle. Wenn Sie eine einfache Nachschlagetabelle für Städte erstellen, scheint die Postleitzahl ein logischer Primärschlüssel zu sein. Bei weiterer Untersuchung stellen Sie jedoch möglicherweise fest, dass mehr als eine Stadt dieselbe Postleitzahl hat. Beispielsweise teilen sich die Städte Neptune, Neptune City, Tinton Falls und Wall Township in New Jersey die Postleitzahl 07753.
- Sozialversicherungsnummern sind aus vielen Gründen keine guten Primärschlüssel. Die meisten Menschen betrachten ihre SSN als privat und möchten nicht, dass sie für Datenbankbenutzer deutlich sichtbar ist. Außerdem haben einige Leute keine Sozialversicherungsnummern.
- E-Mail-Adressen sind ebenfalls 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.
Was einen guten Primärschlüssel ausmacht
Also, wie wählt man einen effektiven Primärschlüssel aus? Wenden Sie sich in den meisten Fällen an Ihr Datenbanksystem, um Unterstützung zu erh alten.
Ein bewährtes Verfahren im Datenbankdesign ist die Verwendung eines intern generierten Primärschlüssels. Ihr Datenbankverw altungssystem kann normalerweise eine eindeutige Kennung generieren, die außerhalb des Datenbanksystems keine Bedeutung hat.
Zum Beispiel könnten Sie den Microsoft Access AutoNumber-Datentyp verwenden, um ein Feld namens RecordID zu erstellen. Der AutoWert-Datentyp erhöht automatisch das Feld jedes Mal, wenn Sie einen Datensatz erstellen. Während die Nummer selbst bedeutungslos ist, bietet sie eine zuverlässige Möglichkeit, in Abfragen auf einen einzelnen Datensatz zu verweisen.
Ein guter Primärschlüssel ist normalerweise kurz, verwendet Zahlen und vermeidet Sonderzeichen oder eine Mischung aus Groß- und Kleinbuchstaben, um schnelle Suchen und Vergleiche in Datenbanken zu ermöglichen.