2012-01-12 7 views
-1

Je souhaite stocker des détails sur les utilisateurs. Chaque utilisateur aura un nom d'utilisateur, un e-mail, un mot de passe, une adresse, une ville, un pays et quelques autres champs. Quelle est la meilleure façon de le stocker? Dois-je stocker tout cela dans une seule table?comment stocker efficacement les informations de l'utilisateur

+0

Sunil - vous pourriez vouloir vérifier ce sujet: http: // stackoverflow .com/questions/8718901/comment-travailler-efficacement-avec-plusieurs-bases de données-dans-ruby-sur-rails/8720464 # 8720464 – Tabrez

Répondre

0

Stockez les informations associées dans un seul tableau. Si vos utilisateurs sont autorisés à avoir une seule adresse, par exemple, vous pouvez stocker en toute sécurité les composants de l'adresse dans une table avec les détails de base de l'utilisateur (nom d'utilisateur, email, mot de passe). Considérez également la possibilité de stocker plusieurs adresses ou emails par utilisateur. Dans ce cas, vous auriez une table distincte pour les adresses avec une clé étrangère dans la table users, sur un champ userid.

Exemple:

users:

userid INT PRIMARY KEY AUTO_INCREMENT, 
username VARCHAR(64) NOT NULL, 
password VARCHAR(2048) NOT NULL 

user_addresses, ce qui permet plusieurs adresses par utilisateur ...

addressid INT PRIMARY KEY AUTO_INCREMENT, 
userid INT NOT NULL, 
city VARCHAR(2048) NULL, 
streetno VARCHAR(2048) NULL, 
FOREIGN KEY (userid) REFERENCES users (userid) 
+0

Les utilisateurs seront autorisés à avoir seulement adresse.Mais quel est le moyen le plus efficace? – sunil

+0

@sunil L'interrogation d'une table sera légèrement plus efficace si vous n'envisagez pas de stocker plusieurs adresses, car vous n'aurez pas à vous joindre. –

Questions connexes