2010-09-06 2 views
4

Je construis un modèle de données pour un site de réseautage social et perdu de la façon de modéliser les utilisateurs et les comptes.différence entre objet utilisateur et compte dans la conception de réseaux sociaux?

1) L'utilisateur s'inscrit et crée un compte. Nous attribuons donc à l'utilisateur un identifiant d'utilisateur comme sur la plupart des sites sociaux que nous voyons qui est le même identifiant de profil. Est-ce que c'est aussi l'identifiant du compte? OU existe-t-il un ID de compte distinct également caché? Si l'utilisateur peut avoir plusieurs profils, l'ID utilisateur est séparé de l'ID de compte qui est distinct de chaque ID de profil?

2) Nous supposons que 1 utilisateur a seulement 1 compte. Mais quand un utilisateur édite son compte ou disons qu'un administrateur édite le compte d'un utilisateur, alors l'utilisateur édite un compte, donc deux identifiants distincts requis pour modéliser cela?

3) Quelle est la durée de vie d'un utilisateur et d'un objet de compte? Si l'utilisateur ferme son compte, cela signifie que l'utilisateur et l'objet compte sont tous les deux tués?

4) Et qui détient les détails du profil de l'utilisateur, les paramètres de l'utilisateur, la vie privée, les amis, etc? L'objet utilisateur ou l'objet Compte, et quel objet est supérieur?

5) Des objets système tels que des photos, des vidéos, etc. peuvent-ils être créés/administrés par un utilisateur, de même que ceux appartenant à l'utilisateur ou à l'objet compte?

6) Qu'est-ce qui fait exactement un objet? Disons que nous avons des mises à jour de statut, des commentaires, des détails de profil. Sont ces 3 objets? Ou tout considéré comme 1 type d'objet et seulement 3 catégories?

Répondre

1

Je comprends votre point de vue sur l'utilisateur par rapport au profil, mais l'utilisateur et le compte?

Pour la plupart de mes conceptions, c'est la même chose. La plupart de vos questions semblent provenir de cette confusion. Pourquoi auriez-vous besoin d'identifiants distincts? Pourquoi feriez-vous la différence entre les deux? Si vous en avez besoin, alors peut-être que oui. Par exemple, vous avez peut-être un compte d'utilisateur qui couvre plusieurs services. Cet utilisateur dispose d'informations de compte distinctes sur les différents services, mais le même login. Dans ce cas, vous devez avoir deux objets distincts: login (dans le système d'authentification) et compte (dans l'application). Mais je ne pense pas que vous créez un système aussi vaste. Non? 6) Si tous ceux qui ne peuvent pas être représentés dans le même code, ils devront être des objets séparés ou dérivés d'un objet similaire. Par exemple, dans certains portails, je vois que le système PM (message privé) ressemble à un fil de discussion privé entre deux personnes ou plus. N'ayant pas regardé la source, j'imaginerais alors que les sujets/threads du forum sont identiques ou similaires, peut-être dérivés du même objet.

+0

Utilisateur vs compte Je me suis senti parce que comment modéliser un employé de modifier les détails du compte d'un utilisateur? J'ai modélisé UserType en tant qu'administrateur, employé, test, membre, visiteur. En outre, le compte peut être un compte d'entreprise, un compte d'annonceur, etc. À moins que je fasse ces fonctionnalités en dessous du compte et pas au même niveau que le compte? Voulez-vous jouer en toute sécurité dès le début, donc pas besoin de changer de modèle une fois que les données en direct arrivent. – kei30

+0

A moins que ces "Comptes" ne soient utilisés dans un logiciel séparé que vous allez construire, ils ne sont pas vraiment utiles. Vous voudrez peut-être avoir des "rôles" que vous pouvez assigner à un utilisateur. Donc utilisateur: 1 est Admin, Manager, etc. C'est une relation de un à plusieurs. Donc, vous avez besoin d'une table qui détient cela. Tableaux: utilisateur, rôle, userrole. userrole étant: userid, roleid .. Quelque chose comme ça. Il y a plusieurs façons de le faire. Vous pourriez vouloir lire un livre ou quelque chose au sujet de la conception de DB. Je vais vous aider à planifier et faire une DB plus à l'épreuve du futur. –

Questions connexes