Mysql plusieurs liaisons entre 2 tables.

Résolu/Fermé
stefziva Messages postés 4 Date d'inscription jeudi 29 décembre 2011 Statut Membre Dernière intervention 31 janvier 2012 - Modifié par stefziva le 29/12/2011 à 17:20
stefziva Messages postés 4 Date d'inscription jeudi 29 décembre 2011 Statut Membre Dernière intervention 31 janvier 2012 - 29 déc. 2011 à 18:06
Bonjour,

Feuilletant souvent ce forum lorsque j'ai un soucis, je me suis dit que j'allais poster mon petit soucis ainsi ça pourrait aider d'autre personne à l'avenir :p.

Je suis sur un projet où je dois calculer le revenu globale(CA) par jour, par mois et année de plusieurs base de données.


voici mes tables :
base(id_base, nom_base)
campagne(id_campagne, nom campagne, id_base)
suivi(id_suivi, DATE, id_campagne, CA, ...[le reste pas intéressant])

jusque là tout va bien et tout fonctionne.

mon soucis :

je dois générer un CA/jour qui se met a jour automatiquement ... j'ai deux solution en tête et je voudrai avoir des conseilles sur la meilleur solution (ou me proposer une solution):

- je crée une table ca_jour, ca_mois et ca_année qui seront MAJ a chaque insertion d'une ligne dans la table suivi ... cela necessite donc plusieurs table dite liaison entre base et campagne ... mais ai-je le droit de faire plusieurs table liaison et est-ce la meilleur solution ???

- je calcule sur ma page php à chaque refresh de ma page php ca/jour, ca/mois et ca/année.


voilà, j'espère que vous comprenez mon soucis ... donc en gros j'ai le droit de faire plusieurs tables liaisons entre 2 même table ...??

ca_jour(id_base,id_campagne, DATE, CA_jour)
ca_mois(id_base,id_campagne, mois, année, CA_mois)
ca_mois(id_base,id_campagne, année, CA_mois)


ou dois-je relier le tout dans une seule table liaison ... j'aimerai avoir un bon avis pour continuer mon projet sereinement :)


Merci d'avance,
Stefziva
A voir également:

2 réponses

doctormad Messages postés 430 Date d'inscription mercredi 28 novembre 2007 Statut Membre Dernière intervention 2 avril 2015 99
Modifié par doctormad le 29/12/2011 à 17:51
Salut,

Trois tables jour, mois et année me semblent indispensables, surtout en termes d'évolutivité. La redondance d'information est dans ce cas précis négligeable face au gain de flexibilité.

De plus cela permet de différer les mises à jour mois et année si problématique de grand nombre de requêtes tu pourrais par exemple ne répercuter la maj sur le mois et sur l'année qu'une fois par heure. Evidemment pas si un CA temps réel est voulu. Au passage l'utilisation de triggers peut-être plus que bénéfique si besoin de "temps réel".

Après selon tes besoins tu pourrais aussi rajouter des liaisons comme par exemple id_mois dans la table jour cela faciliterais la mise à jour, l'indexation sur les dates étant moins performante que celle sur les entiers.
0
stefziva Messages postés 4 Date d'inscription jeudi 29 décembre 2011 Statut Membre Dernière intervention 31 janvier 2012
29 déc. 2011 à 18:06
Merci de ta réponse doctormad, et bien je vais faire comme cela donc ... en ce qui concerne les MAJ par mois et année je comptais le faire directement quand une ligne est ajouté dans la table suivi ... ainsi quand il y a suppression ou modification le CA/mois et par année se mettra à jour aussi.


Ensuite je mettrai l'application en ligne afin que l'on puisse y accéder depuis partout.

Merci et bonne fin de journée ;)

Cordialement,
Stefziva
0