|
Bas de page | |
---|---|
Auteur | Sujet : Gestion des relations => schéma de la BDD |
mechkurt | Je dois ajouter dans ma base de donnée une notion de relation entre les utilisateurs (pour le moment on va faire simple ami ou pas).
Message édité par mechkurt le 23-03-2020 à 18:56:36 --------------- D3 |
Publicité | Posté le 23-03-2020 à 18:09:52 |
mechkurt | Ben oui mais en faite dans 1 ans N°1 vas ptet changer d'avis sur son amitié et donc changer son état...
--------------- D3 |
gelatine_velue | L'état passera de ACCEPTED a REJETE_DEMANDEUR non? |
mechkurt | Hum, oui je supposes que ça pourrait, mais en fait distinguer les états de chaque user me semble pertinent pacqu'au cour du temps, une "amitié" peu évoluer des 2 cotés : oui,oui / oui,non / non,oui / non,non...
--------------- D3 |
rufo Pas me confondre avec Lycos! | La première solution me paraît plus adaptée pour gérer des relations symétriques. Dans ce cas, il y a effectivement le statut du user 1 qui est de trop. Cette solution permet aussi de savoir plus facilement qui a initié la relation si on fait sauter la règle id1 < id2 qui n'a pas de sens et n'apporte rien à mon avis (dans ta requête d'extraction, tu es obligé de faire un OR sur les 2 ID).
Message édité par rufo le 25-03-2020 à 11:22:13 --------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
mechkurt | Pour le moment; je suis partis sur le modèle 1 avec lequel je suis "intuitivement" plus à l'aise...
--------------- D3 |
mechkurt | C'est une option auquel j'ai pensé, mais j'ai peur de me retrouver avec user * user * 1.5 lignes (stats au doigt mouillé) et donc une table qui a elle seul me fait ramer le serveur entier...
--------------- D3 |
skeye |
--------------- Can't buy what I want because it's free - |
Publicité | Posté le 25-03-2020 à 17:12:53 |
mechkurt | Si on en croit mon client, Facebook...
--------------- D3 |
skeye |
Dans tous les cas, en phase de conception ne te focalise pas sur des problèmes de perfs supposées, commence par la version la plus "propre" possible. Il sera bien temps de s'occuper des perfs quand le truc sera suffisamment proche de la prod pour regarder ce qu'il se passe en chargeant un max de données fictives... Message édité par skeye le 25-03-2020 à 17:28:44 --------------- Can't buy what I want because it's free - |
mechkurt | Oui le user * user est un tantinet discutable avec le recul ! ^^
--------------- D3 |
rufo Pas me confondre avec Lycos! | Moi, je suis pour la solution 2 du fait que les relations humaines ne sont pas symétriques. C'est mon avis définitif. Je disais simplement que la solution 1 se défendait si on était dans un cas de relation symétrique.
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
mechkurt |
--------------- D3 |
rufo Pas me confondre avec Lycos! | Si tu es sur MySQL, je te recommande de tuner le fichier de conf pour augmenter la taille de certaines variables de conf
--------------- Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta |
mechkurt |
Message édité par mechkurt le 26-03-2020 à 14:11:13 --------------- D3 |