Ich habe eine 4 Arten von Benutzern und hat jeweils spezifische Daten, sondern sie auch commun Daten, wie username
, password
..Relationale Datenbank-Design mehrerer Benutzertypen
Mein erster Gedanke ist eine Haupt users
Tabelle zu erstellen, geben Sie user_type
Spalte. Dann bei der Abfrage von Benutzerdaten kann ich zuerst ihre user_type
auswählen und dann je nach output
eine andere Abfrage ausführen, um "user type" spezifische Daten zu erfassen. Ich mag das nicht, da ich wünschte, ich könnte alle benutzerbezogenen Daten mit einer Abfrage erfassen und idealerweise Fremdschlüssel verwenden.
zweite Idee ist nicht eine user_type
Spalte in der Tabelle users
haben und stattdessen Fremdschlüssel verwenden, die von einer bestimmten Benutzer-Typ-Tabelle mit einer Zeilentabelle der Haupt users
verweisen. Ich mag das ein bisschen besser, obwohl ich denke, dass ich N Abfragen ausführen muss, wobei N die Anzahl der Benutzertypen jedes Mal ist, wenn ich Benutzerdaten greifen muss.
Gibt es noch andere Optionen? Was wäre die gute Praxis in einem solchen Fall?
Vielen Dank
Wenn ich Sie zu verstehen, müssen Sie nur eine JOIN-Klausel in der SQL-Anweisung verwenden. So etwas wie SELECT * FROM Benutzer U LEFT JOIN user_details D ON U.id = D.user_id WHERE U.id = ' –
kann ein Benutzer sein, mehr als eine Art zu einer Zeit? –
@Catcall nicht in diesem ein Benutzerszenario nur eine Art haben kann, obwohl ich neugierig bin, was die Möglichkeiten sind in jedem Fall – silkAdmin