Désolés si cela a été couvert - J'ai cherché pendant des heures mais je pense que je manque simplement le vocabulaire pour rechercher efficacement.MySQL: Où puis-je stocker les informations de profil de chaque utilisateur sur un site Web?
J'essaie de comprendre comment je devrais stocker des informations de profil pour chaque utilisateur. Par informations sur le profil, je ne veux pas dire des informations comme les emails et autres, mais plutôt leurs préférences concernant le site sur lequel je travaille. C'est un site d'apprentissage des langues, et je veux que les utilisateurs puissent sauvegarder leur «progression», en leur donnant la possibilité de marquer une leçon comme apprise. Je veux aussi garder la trace des exercices qu'ils ont effectués, afin que je puisse essayer de leur donner seulement des exercices qu'ils n'ont pas fait (ou quand ils ont épuisé les exercices disponibles, à partir du moins récent) . Je ne suis pas sûr où stocker toutes ces informations.
Dois-je avoir une table de correspondance reliant les utilisateurs aux leçons? Je crains que cela devienne énorme à mesure que le nombre d'utilisateurs et de tables augmente. Voyant que c'est juste un booléen, j'ai considéré donner à chaque utilisateur un int (et plus tard ints comme un tableau) où chaque bit représente une leçon, et effectuer des opérateurs bit à bit sur ces nombres pour obtenir les informations sur les leçons qu'ils ont sauvées. Bien que cela puisse paraître lourd à l'avenir. En ce qui concerne les exercices qu'ils ont fait, je crains que cela ne mène à une énorme quantité de gaspillage si j'essaie de les sauvegarder en mysql. Pourrais-je essayer de faire cela sur l'ordinateur de l'utilisateur en utilisant des cookies, et toute personne qui a des cookies désactivés devra simplement faire face à des questions répétées d'exercice? Peut-être que je devrais penser à d'autres tables et même à d'autres bases de données! Je ne sais pas!
Désolé pour tout le non-sens décousu. À tout le moins j'apprécierais quelques indications vers ce que j'ai besoin de lire sur ...
+1 Battez-moi aussi. –
Ok, cool, je suppose que je ne suis pas habitué à l'échelle des bases de données mysql. Je vais y aller, et merci! –
@Michael: Ne vous inquiétez pas trop de ce genre de chose à l'avance. Essayez de commencer par la méthode la plus facile à utiliser et la plus flexible, et craignez de la modifier plus tard si cela s'avère provoquer un goulot d'étranglement ou un problème dans votre application.Il n'y a aucune raison de se compliquer la tâche avant de savoir que c'est vraiment nécessaire. –