[SQL] Design table "réseau social"

Design table "réseau social" [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 23-10-2009 à 19:09:25    

Bonjour.
 
Je me suis défini un petit projet personnel pour m'exercer au framework MVC (symfony).
Je dois donc réaliser un petit réseaux social avec ces quelques caractéristiques.
 
-les visiteurs peuvent s'enregistrer et créer leur propre page de membre.
-les membres peuvent créer des groupes.
-les membres peuvent rejoindre les groupes créées.
-Un membre peux laisser des commentaires à un autre membre ou a une fiche de groupe.
-Un membre peux inviter un autre membre afin d'être son ami.
-Les membres peuvent s'envoyer des messages entres eux.
-Un média appartient à une catégorie
-Chaque membre peux créer des catégories médias et ajouter des médias sur leur fiche membre.
-Les membres d'un groupe peuvent créer des catégories de médias et y ajouter des médias.
-dernières activités des membres et groupes (horodatage des actions déjà prévus : login, ajout d'un ami, consultation d'un groupe etc etc)
 
Pouvez vous me dire si ce dernier est correct?
 
Merci bien
 
http://img203.imageshack.us/img203/7859/socialv.th.png


Message édité par masseur le 23-10-2009 à 19:09:47
Reply

Marsh Posté le 23-10-2009 à 19:09:25   

Reply

Marsh Posté le 26-10-2009 à 14:35:21    

Tu trouves pas que c'est un peu vague comme question ? Est-ce que tu as un point particulier qui te pose problème dans la conception de ton MCD ? Si non, alors lance toi dans l'implémentation et tu verras au fur et à mesure, c'est comme ça qu'on apprend. :-)
 
Sinon quelques petits conseils en vrac (je suppose que tu es sous MySQL) :
- Ton schéma ne fait pas apparaitre les indexes, c'est dommage
- Ton schéma ne fait pas non plus apparaitre si un champ est unsigned, auto_increment ou autre
-  tu penses vraiment que tu as besoin d'un INT pour stocker l'age ? Tu as vraiment des utilisateurs qui sont vieux de 4 milliards d'années ? Utilise un champ plus adapté : http://dev.mysql.com/doc/refman/5. [...] types.html (cette remarque est valable pour tous les champs numériques)
- Pour le cas particulier de l'age, c'est plus malin de stocker la date de naissance, ça t'évitera de devoir mettre à jour ta base en permanance
- Pour le champ "etat" qui n'a que 3 valeurs possibles, tu devrais utiliser un ENUM : http://dev.mysql.com/doc/refman/5.1/en/enum.html
 


---------------
When it's from Finland it's good.  - Mon blog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed