Zitat von
sx2008:
Das ist so nicht richtig.
Dein Primärschlüsselfeld ist UserID; ein künstlicher Schlüssel.
Das ist so auch ganz in Ordnung.
Das Feld Username ist nun ein Ersatz- oder Surrogatschlüssel für den Primärschlüssel.
Username ist aber nicht Bestandteil des Primärschlüssels!!
Auf dem Feld Username sollte unbedingt ein Index liegen.
Dieser Index sollte UNIQUE sein; damit wird verhindert, dass es zwei oder mehr Datensätze mit dem gleichen Username geben kann.
Dennoch ist das Umbenennen des Usernamen problemlos möglich, weil abhängige Tabellen nicht betroffen sind.
Deine Usertabelle sollte auch noch ein Disabled-Feld enthalten.
Damit kann man User sperren, ohne den Datensatz löschen zu müssen.
Ah ok danke hab dies bereits auf Unique umgestellt (siehe oben)
Das Disabled Feld klingt gut ... Dafür sollte ich am besten ein Feld mit dem Typ BOOLEAN verwenden oder?