Es gibt mindestens drei wünschenswerte Eigenschaften, die Sie bei der Auswahl oder dem Entwurf von Schlüsseln beachten sollten: Einfachheit, Stabilität und Vertrautheit. In der Praxis fällt es den Menschen oft leichter, sich an Wörter und Buchstaben als an Zahlen zu erinnern, und deshalb sind alphanumerische Kennungen im Allgemeinen häufiger als numerische Kennungen (Beispiele für alphanumerische Kennungen: Autokennzeichen, Flugnummern, Sitzplatzreservierung) Nummern, Landes- und Ländercodes, Postleitzahlen, E-Mail-Adressen). Es gibt Studien und annewdotale Beweise, die die Idee unterstützen, dass alphanumerische Schlüssel brauchbarer sind als Zahlen allein. Auch alphanumerische Kennungen können oft kürzer als numerische sein. Auf der anderen Seite sind sequentielle Nur-Zahlen-Identifizierer für einige Anwendungen sehr üblich (z. B. Rechnungsnummern, Bankkontonummern). Daher schlage ich vor, dass Sie sich bei der Bestimmung dieser Dinge an den Bedürfnissen Ihrer Nutzer orientieren sollten.
Beachten Sie, dass DBMS-Engine-Sequence-Generatoren oft mit Einschränkungen versehen sind, die sie für einige Anwendungen ungeeignet machen. Zum Beispiel ist es möglicherweise nicht einfach, sie zu aktualisieren oder sie in einer verteilten Datenbankarchitektur zu verwenden. Eine andere häufige Einschränkung ist, dass nur eine "automatisch inkrementierende" Spalte pro Tabelle erlaubt sein darf, was ihre Verwendung als Geschäftsschlüssel ausschließt, wenn Sie auch einen Ersatzschlüssel für die gleiche Tabelle wünschen.
Ich glaube nicht, dass Sie sagen, die Verwendung von IDs oder Zahlen ist eine schlechte Idee für sich. Es kommt darauf an. Oft sind IDs und Zahlen einfach perfekt. Fragen Sie sich selbst: An welchen anderen Schlüssel haben Sie sonst gedacht? Und, wäre das besser? Ich denke nicht, dass es auch wesentlich besser ist. Ein Trick mit Zahlen ist, nicht mit 1 zu beginnen, sondern eine ID mit 1000000 beginnen zu lassen, die andere mit 20000000 usw. – tvCa
@tvCa: Natürlich meine ich nicht ID oder Zahlen selbst. Ich meine auto inkrementelle ID als Teil der datenbankspezifischen Informationen. – Vokinneberg
@Vokinneberg bitte klären Sie Ihre Frage. Wenn Sie "als Entitätsbezeichner" angeben, ist dies keine eindeutige Aussage. Die meisten von uns würden das Geschäft als Kunden betrachten. Aber Ihr Kommentar schlägt vor, dass Sie meinen, dass es ideal für den Primärschlüssel für den Tisch ist. Und die Antwort auf diese Frage ist, es ist definitiv eine gute Passform für eine PK, wenn Sie es als eine automatisch inkrementierende Spalte und die PK definieren ... solange Sie keine GUID generieren ... Ich würde das auch hinzufügen einem Kunden eine Kontonummer zu zeigen, die ein automatisch inkrementierter Wert ist, ist in Ordnung ...solange es keine GUID ist – MER