Was ist Ihrer Meinung nach die beste Lösung für ein DB-Schema bei der Implementierung von z. Facebook-Verbindung?db design - Anmelden mit Drittanbieter-Diensten (Facebook Connect, etc.)
Wenn ich etwas Forschung tat, fand ich einen Vorschlag, die Login-Informationen (fb_id, ...) von den Kontoinformationen zu trennen (zB Vornamen, Nachname, ...): http://facebook-developer.net/2008/08/05/optimize-your-database-tables-for-facebook-connect/
Die vorgeschlagene Lösung dieses Artikels sind drei Tabellen
CREATE TABLE accounts
(
id
int (11) AUTO_INCREMENT NOT NULL,
name
Text,
email
Text,
PRIMÄRSCHLÜSSEL id
(id
)
);
CREATE TABLE users
(
username
VARCHAR (255) NOT NULL,
password
Text,
account_id
int (11) NOT NULL,
PRIMARY KEY username
(username
)
);
CREATE TABLE facebook_users
(
fb_uid
Bigint (11) Standard-NULL,
email_hash
VARCHAR (64) Standard-NULL,
account_id
int (11) NOT NULL,
PRIMARY KEY fb_uid
(fb_uid
)
);
Ich sehe kein klares Argument, warum man nicht einfach alle Daten in einer Tabelle speichern könnte.
Tabelle Benutzer ( user_id, Benutzername, E-Mail , fb_id, email_hash, ... )
Eine Person hat in der Regel nur ein Facebook-Konto, so dass ich sehe keine Probleme mit Redundanz. Irgendwelche Vorschläge?