Je crée des profils d'utilisateurs et que vous avez quelques questions relatives au schéma pour les niveaux de la vie privée:Réseau social - niveaux de confidentialité - schéma de base de données
Pour plus de détails profil -> Il y a plusieurs champs comme sur facebook - anniversaire, le sexe, le lieu , intérêts, relations, nom complet de l'utilisateur, etc. Du point de vue de la base de données - Comment cela est-il fait? J'utilise MySQL donc la première chose est que les niveaux de confidentialité peuvent bien fonctionner dans MySQL ou ai-je besoin d'une base de données non relationnelle? Ensuite, pour affecter la vie privée au niveau du terrain est comme ceci:
table objet -> champ Profil 1, champ de profil 2, .....
Confidentialité table de consultation -> Friends = 1, ami d'un ami = 2, Tout le monde = 3, liste bloquée = 4, ...
table objet utilisateur -> champ profil 1 a la vie privée recherche 1 (ce qui signifie champ 2 est défini à des amis seulement)? Ce qui précède fonctionne bien pour un niveau de confidentialité de liste fixe, mais si nous avons des niveaux de confidentialité non liste, par exemple: Je veux bloquer la personne X, Y & Z et permettre à un utilisateur nommé A seulement de le voir, il n'y a pas de fixe niveaux pour cela, alors comment représenter cela au niveau du schéma?
Ceci est un niveau classé, mais la confidentialité est même à un niveau d'objet supérieur comme des photos individuelles, vidéos individuelles, etc Donc, des suggestions générales sur la base de données pour utiliser/schéma de base pour me guider?
Merci.
table de confidentialité est la table de consultation de confidentialité je suppose? Mais cela ne descend pas au niveau du terrain. Comment est-ce que je représenterais mon anniversaire à être visible pour dire "seulement des amis" et mon genre à "tout le monde mais avec seulement M. X et M. Y bloqués"? – Dia
ensuite sur la table que vous ajoutez isPrivacyActivated deux champs friendID (varchar (36)) et isViewable (Boolean) qui représentent qui est autorisé à le voir. Vous pouvez donc supprimer le champ isActivated. – Spredzy