Mysql plusieurs liaisons entre 2 tables.

[Résolu/Fermé]
Signaler
Messages postés
4
Date d'inscription
jeudi 29 décembre 2011
Statut
Membre
Dernière intervention
31 janvier 2012
-
Messages postés
4
Date d'inscription
jeudi 29 décembre 2011
Statut
Membre
Dernière intervention
31 janvier 2012
-
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

2 réponses

Messages postés
430
Date d'inscription
mercredi 28 novembre 2007
Statut
Membre
Dernière intervention
2 avril 2015
99
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.
Messages postés
4
Date d'inscription
jeudi 29 décembre 2011
Statut
Membre
Dernière intervention
31 janvier 2012

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