Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Datenbank Design für einen Userserver

  Alt 27. Feb 2009, 08:02
Zitat von gsh:
Noch kurz warum ich zwei Primär Keys hab:
Ich denke, ein select sollte man immer nur auf einen identizierten Eintrag durchführen. Da sich der User über den Usernamen anmeldet, brauch ich den am Anfang und dann verwendet der Server nur noch die UserID zur Identifikation.
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.
  Mit Zitat antworten Zitat