Bonjour tout le monde !
Je met actuellement en place une base de données pour un site de rencontre.
J'ai donc actuellement.
1 table (map_villes) de donné static qui contient tout les villes, code postal, latitude etc
1 table (users) qui contient la liste des utilisateur avec les info général ( tt les pseudo, password, adresses, etc)
1 table (parrainage_request) qui contient les demande de parrainage ( son volume devrait augmenter doucement pour l'instant 300 entrées )
1 table (parrain) qui contients les parains actuelles ( la aussi trés peu de donné car dans notre system un parrain est valide 15 jours )
et le point qui était bancale était qu'à chaque utilisateur j'ajoutais 4 tables.
1 table (pseudo_de_l'user_msg) pour les message que ce membres à envoyé aux autres membres.
1 table (pseudo_de_l'user_contact) pour les contacts de ce menbre
1 table (pseudo_de_l'user_check) pour les choix de l'utilisateur ( l'utilisateur choisi sur notre site les personne qui lui plaise et les choix sont enregistré dans cette base)
1 table (pseudo_de_l'user_visite) qui enregistre les personne qui ont visité ( en gros qui on regarder) le profil du membre en question.
Je comptai évoluer vers l'architecture suivante
8 tables
je garderais les 4 premiers tables citées dessus :
1 table (map_villes) de donné static qui contient tout les villes, code postal, latitude etc
1 table (users) qui contient la liste des utilisateur avec les info général ( tt les pseudo, password, adresses, etc)
1 table (parrainage_request) qui contient les demande de parrainage ( son volume devrait augmenter doucement pour l'instant 300 entrées )
1 table (parrain) qui contients les parains actuelles ( la aussi trés peu de donné car dans notre system un parrain est valide 15 jours )
et au lieu de créer 1 table par users je pensait faire 4 tables qui contiendrait le même type de données mais pour TOUT les utilisateurs ( de cette façon je pense rester à 8 tables sauf si j'ajoute de nouvelle fonction) .
Les 4 dernières tables serais donc:
1 table (all_msg) pour tout les messages.
1 table (all_contact) pour tout les contacts.
1 table (all_check) pour tout les choix
1 table (all_visite) qui enregistres tout les visite.
J'ai peur que la 2 ieme solution soit plus dure à gérer ( quoi qu'en mettant des index et des vues ca devrait aller) dans un premier temps, mais à long terme elle me paraît beaucoup plus performantes.
Aussi si je garde l'architecture actuelle, j'ai peur que si par exemple je me retrouve un jour à vouloir afficher le nombre total de rencontre fait sur notre site je doive me retrouvé à effectuer des requetes sur tout les tables pseudo_user_contact ce qui risque d'etre catastrophique en terme de performance !
Encore merci et bravo a ceux qui ont eut la force ( et le temp surtout) de tout lire !
Partager