ERM erstellen - Registrierungsprozess

Hallo an alle!

Ich bin gerade dabei ein ERM zu erstellen, also wie ich die Datenbanktabellen dann aufbauen möchte.

Nun habe ich folgendes Problem und ich weiß nicht wie man das am Besten abbilden soll.

Es gibt Benutzer, die sich mit E-Mailadresse, Vorname, Nachname, … registrieren müssen. Schicken Sie die Daten ab und alles ist okay, so kriegen sie eine Bestätigungs-E-Mail. Dort ist ein Link mit einer eindeutigen Kennung, so dass Sie dann wirklich registriert sind.

Meine Fragen zur Datenbank:
Ich habe eine Tabelle „BENUTZER“. Die E-Mailadresse ist dann eindeutig. Sollte ich die dann als Primärschlüssel nehmen oder ist es sinnvoller immer jedem Benutzer eine ID zu geben? Ich denke mir, dass man mit IDs schneller Verknüpfungen mit anderen Datenbanktabellen machen kann?! Was meint ihr?

Zudem: Wenn ein Benutzer sich registriert, soll man den gleich schon in die BENUTZER-Tabelle einfügen? Es kann ja sein, dass er nie bestätigt und so habe ich Datenmüll.

Ich hätte dann eine Tabelle BENUTZER und eine Tabelle REGISTRIERUNG. Die Registrierung hat dann eine ID, die UserId oder die E-Mailadresse und einen Key. Sollte ich die Tabelle dann nur benutzen um zu gucken ob der Key richtig ist und passt und dann in der Tabelle BENUTZER bei einer Spalte „registriert“ ein „ja“ setzen?

Ich hoffe Euch ist meine Problematik verständlich und ihr habt Ideen wie man das am Besten ind er Praxis macht.

Gruß PHANTOM

Hi,
niemals etwas als primären Schlüssel nehmen was der Benutzer eingeben oder ändern können muss.

2 Tabellen komplizieren das nur. Platz spielt heute keine Rolle mehr - jedenfalls nicht bei solchen Daten.

Gruss
Joey

Hallo!

Danke für die Antwort.
Okay, dann nehme ich noch eine ID dazu.

Also den Benutzer gleich in die USER-Tabelle einfügen auch wenn er noch gar nicht registriert ist, also den E-Mail-Link bestätigt hat?
Soll ich dann auch den Registierungsschlüssel, also den Teil des Links mit dem sich der Benutzer dann authentifiziert, mit in die USER-Tabelle nehmen?
Dann nehme ich zur USER-Tabelle noch eine Spalte „registriert“ auf um das kenntlich zu machen, falls er bestätigt hat?

Gruß PHANTOM

Mach doch eine Spalte mit dem Registrierungsdatum und eine Spalte Bestätigt in der du dann z.B. einen Wert von 0 auf 1 setzt, wenn er bestätigt hat.
Dann kannst du immer noch hin gehen und ein delete from benutzer where bestätigt = 0 and regDatum älter 2 Wochen, Monate…
absetzen.

Habe ich so nun auch zur Benutzertabelle aufgenommen.

Gruß PHANTOM