Ich glaube nicht an eine Silver Bullet, aber ich wirklich gerne Sequenzen oder Autonummer Identität Spalten als meine primäre Schlüsselspalten für Datenbanktabellen. Sie sind einzigartig, sie indexieren gut und ich muss mich nicht um Nullwerte kümmern.Wann würden Sie wählen, ein Identitäts-/Autonummer-Feld NICHT als Primärschlüssel zu verwenden?
Auf der anderen Seite scheinen sie in einigen Fällen redundant, wenn es andere eindeutige Spalten in der Tabelle gibt, die denselben Zweck erfüllen könnten. Angenommen, Sie erstellen eine Tabelle, die 9-stellige Postleitzahlen in Stadtzonen abbildet. Das Postleitzahlenfeld könnte genauso gut funktionieren (vorausgesetzt, Sie können das Datenformat und keine Duplizierung von Werten garantieren).
Auf den Punkt: Meine Erfahrung, wie es mit uns allen ist, ist begrenzt. Welche anderen Beispiele aus der Praxis haben dazu geführt, dass die Benutzer nicht wählen, um eine Spalte mit der Autonummer als Primärschlüssel für eine Tabelle zu verwenden, und warum?
Dies ist eine Art "erweitern Sie Ihre Horizonte" Art von Sache für mich, und ich hoffe, ein wenig von Leuten zu lernen, die mit einer Fülle von Datenbanken gearbeitet haben und zwingende Gründe, etwas anderes zu wählen.
Es ist dieses ganze "Du weißt nie" -Ding, das mich erreicht. Ich möchte die Datenbank nicht überdimensionieren (YAGNI), aber gleichzeitig möchte ich auch nicht zurückgehen und mich mit dem Problem auseinandersetzen müssen, nach und nach eine automatische Nummerierungsspalte hinzuzufügen . Es wäre beunruhigend zu entdecken, dass sich unsere Annahmen über eine "grundsolide" Primärschlüsselauswahl als falsch herausstellten, und wir mussten uns auf sie zurückziehen. –