20 Stimmen

Gründe, die gegen die Verwendung einer automatisch inkrementierenden Zahl für einen Primärschlüssel sprechen

Ich arbeite derzeit an der Datenbank eines anderen Unternehmens, in der die Primärschlüssel über eine Nachschlagetabelle generiert werden, die eine Liste von Tabellennamen und den zuletzt verwendeten Primärschlüssel enthält. Eine gespeicherte Prozedur erhöht diesen Wert und prüft, ob er eindeutig ist, bevor sie ihn an die aufrufende "insert"-SP zurückgibt.

Welche Vorteile hat die Verwendung einer solchen Methode (oder das Generieren einer GUID) anstelle der Verwendung der Identitäts-/Autonummer?

Ich spreche nicht von Primärschlüsseln, die tatsächlich etwas "bedeuten", wie ISBNs oder Produktcodes, sondern nur von den eindeutigen Bezeichnern.

Danke.

-1voto

BradC Punkte 38356

Der einzige wirkliche Grund, dies zu tun, ist die Unabhängigkeit von Datenbanken (wenn verschiedene DB-Versionen unterschiedliche automatische Nummerierungstechniken verwenden).

Ein weiteres Problem, das hier angesprochen wurde, ist die Möglichkeit, Datensätze an mehreren Orten zu erstellen (z. B. in der Zentrale und auf den Laptops der reisenden Benutzer). In diesem Fall bräuchte man jedoch wahrscheinlich so etwas wie einen "Sitecode", der für jede Installation eindeutig ist und jeder ID vorangestellt wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X