LostWorld
Messages postés5Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention18 novembre 2007
-
16 nov. 2007 à 16:54
LostWorld
Messages postés5Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention18 novembre 2007
-
18 nov. 2007 à 17:28
Bonjour à tous,
Ma question est plus généraliste que technique. Je débute actuellement un projet d'une taille plus grosse que ce que j'ai pu développer par le passé et manque d'expérience pour mes choix de structure DB ...
En gros, j'ai un gestionnaire de devis/projet à développer pour ma boite en interne. Chaque devis aura diverses taches.
Je pensais créer une table avec les différents devis et une autre avec les taches liées par clé primaire et secondaire.
Jusque là rien de bien compliqué ...
Ensuite il faudrait que certains de ces devis puissent passer en stade de développement si le devis est accepté et d'autres en archivage.
Sachant que s'ajoute à cela un système de template de devis, la notions de plusieurs variantes d'un même devis si le client le demande, etc et donc que globalement la structure est assez complexe (pour moi en tout cas), la question que je me pose est la suivante :
-> Vaut-il mieux que je dispose de tables séparées pour l'archivage, la mise en développement, la facturation et donc que je déplace les devis au fur et à mesure de leur évolution (signé/ pas signé/ etc) d'une table à l'autre ou que je dispose de tous les stades de cette évolution dans la même table (par exemple un champ qui prend 1 si on est au stade devis, 2 au stade en développement, etc) ?
Sachant qu'avec le temps, je crains qu'en travaillant avec une table (2 en fait puisque table "Devis" et table "Taches"), elle ne s'encombre et que cela ralentisse fortement les performances.
Voilà, merci d'avance à ceux qui prendront la peine de me répondre ... je manque réellement d'expérience pour me passer de quelques conseils de personnes plus expérimentées.
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 16 nov. 2007 à 19:39
Salut,
Je pense que tu peux travailler que siur deux tables, les bases de données sont réalisée pour travailler sur des milliers, voir millions d'enregistrements.
C'est plus intéressant de stocker tes devis dans une seule table, avec une colonne etat, si tu veux tu peux faire une table d'archivage(pour stocker des vieux devis)
Mais cela n'est pas nécessaire.
Si au chargement de ta liste de devis dans le where tu enleves les devis archivés, tu n'auras pas de problème.
Dans un deuxieme temps si ton nombre d'enregistrement est trop important > 10000 par exemple, une table archivage peut etre utile.
En genéral, les problemes de performance ne vienennt pas de la base mais du probleme qui interogge. Et des problemes d'architecture logicielles.
LostWorld
Messages postés5Date d'inscriptionmercredi 9 janvier 2002StatutMembreDernière intervention18 novembre 2007 18 nov. 2007 à 17:28
Bonsoir,
Merci d'avoir pris la peine de me répondre, ca m'évitera d'hésiter encore pendant des heures sur quelle méthode adopter.
Je vais donc travailler avec 2 tables, ca m'évitera de devoir déplacer sans cesse des "rows" d'une table à l'autre et simplifiera ma structure.
Merci encore.