Mon projet comporte un "moniteur d'activité" qui surveille l'activité d'un utilisateur.
Actuellement, la façon dont cela fonctionne est la suivante : j'ai une méthode appelée LogActivity
et il soumet les données à la base de données. J'appelle cette méthode lorsqu'un utilisateur démarre une nouvelle session, lorsqu'il s'enregistre, lorsqu'il met à jour son profil, etc. En fait, il y a 3 ou 4 actions différentes qui sont enregistrées, donc je les stocke comme suit
ID | UserID | Activité | Date
Le champ d'activité contient toujours les mêmes données.
- nouveau compte créé
- nouvelle session commencée
- compte mis à jour
- événement posté
- événement voté
- commentaire à gauche
- commentaire voté
Puisque cela pourrait prendre beaucoup de données, serait-il préférable d'avoir une table séparée avec cette information et de la joindre à la table ? Si oui, dois-je simplement entrer manuellement l'ID de la nouvelle table dans l'"ActivityID" de la table existante ?
Quelle est la meilleure façon d'atteindre le résultat souhaité sans remplir la base de données avec du contenu redondant ?