genmin Posté 13 Octobre 2005 Posté 13 Octobre 2005 Bonjour, voilà je suis sur une base de gestion de bien immobilier. Pour le moment j'ai 4 tables identique qui me permettent de séparer : table1 -> les biens proposé à la vente table2 -> les biens en attente (complément d'info etc) table3 -> les biens que nous avons vendu table4 -> les biens vendu pas des confrères Il est vrai que 90% des requetes ce font sur la table 1, mais lorsque l'on recherche un bien, il faut regarder dans les 4 tables? pour info voici le nombre d'enregistrement de chaque table : table1 -> 879 table2 -> 133 table3 -> 492 table4 -> 1858 les tables 3 et 4 sont bien entendu amenée à grossir très rapidement contrairement au table 1 et 2 qui devrait rester à peut près à la meme taille. voici enfin ma question !! Est ce que je me complique pas la vie pour rien en gardant mes 4 tables, et ne devrais je pas tout mettre dans la meme avec un champ suplémentaire qui m'informe de leur statut. Autrement dis, il vaut mieux une grosse table avec une seul requete par page php, ou une multitude de petite tables avec une multitude de requete dans la page php. Tout ca dans un souci de temps de calcul et d'acces au donnée sur le serveur biensur. Merci pour vos lumière.
Portekoi Posté 13 Octobre 2005 Posté 13 Octobre 2005 Dans la mesure où il n'ya pas redondance, cela peut fonctionner avec 4 tables mais je préfère n'avoir qu'une table avec un statut. Je m'avance un peu, mais un inner join consommera plus qu'un select unique. A creuser
Dan Posté 13 Octobre 2005 Posté 13 Octobre 2005 Salut Genmin, Dans le cas où la seule chose qui change est le statut, il vaut mieux une seule table avec un champ "statut" supplémentaire. Au moins lors d'une recherche, tu n'auras qu'une seule requête plutôt que d'en avoir 4 sur des tables distinctes. Ce champ peut être une simple valeur numérique et doit être indéxé. Tu gagneras beaucoup de temps Cette valeur numérique te permet éventuellement d'y stocker l'id du vendeur si tu as une table séparée avec les vendeurs et leurs coordonnées. Dan
NorSeb Posté 13 Octobre 2005 Posté 13 Octobre 2005 Salut, Je suis entièrement d'accord avec Portekoi et j'ajouterais qu'il y a aussi un paramètre à prendre en compte : la redondance. A quoi ca sert d'avoir x fois le même enregistrement dans x tables ? Sinon pour se compliquer la vie. Pour finir, au risque de passer pour un emmerdeur, je conseil très fortement à tous ceux qui veulent faire de la programmation "propre" de commencer par apprendre la théorie, à savoir : l'analyse et l'algorithmie. Ca parait con comme ca mais c'est le plus important ! Cela permet de ne pas partir sur un projet "à l'arrache" et de se rendre compte à un moment que tout est à recommencer. Bon allez... J'arrète le café
genmin Posté 13 Octobre 2005 Auteur Posté 13 Octobre 2005 Est ce que vous connaisser des sites ou meme formation interressante concernant les meilleurs choix pour les structures d'une base mysql ??
Anonymus Posté 14 Octobre 2005 Posté 14 Octobre 2005 Tu as la top site list du Hub, qui contient un certain nombre de liens intéressants. Pour 'apprendre', il y aura toujours le site 'commentcamarche.net', Sinon tu peux te tourner vers la méthodologie 'merise', qui justement permet de modéliser une base de données, et d'éviter ce genre de structures, voire 'UML'. Le principe étant de dire (entre autres) : - ' Une info ne doit être stockée qu'une seule fois dans la base. Il ne peut y avoir de redondance d'informations'. ( ! sauf cas particuliers, mais je te laisse les découvrir ) Ah ! Et il y a quelques articles pour 'bien commencer', en base de données, dans les publications du Hub
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant