Sollte ich ein dediziertes Primärschlüsselfeld haben?

Ich entwerfe eine kleine SQL-Datenbank für eine Webanwendung.

Angenommen, eine bestimmte Tabelle hat ein Namensfeld, für das keine zwei Zeilen denselben Wert haben dürfen. Benutzer können das Feld Name jedoch jederzeit ändern.

Der Primärschlüssel aus dieser Tabelle wird in anderen Tabellen als Fremdschlüssel verwendet. Wenn also das Feld Name als Primärschlüssel verwendet würde, müssten alle Änderungen an diese anderen Tabellen weitergegeben werden. Andererseits würde das Erfordernis der Eindeutigkeit automatisch behandelt.

Mein Instinkt wäre, ein ganzzahliges Feld als Primärschlüssel hinzuzufügen, das automatisch von der Datenbank ausgefüllt werden könnte. Hat dieses Feld irgendeinen Sinn oder wäre es Zeitverschwendung?

Antworten auf die Frage(11)

Ihre Antwort auf die Frage