je gère des campagne publicitaires. j'ai des entrerpises clientes mais aussi des groupes. En fait un client peut ou pas faire parti d'un groupe. J'ai ensuite des contrats(date de mise en application, nombre de points) et des campagnes qui doivent être modélisé.
prenons un exemple (fictif
Le groupe coca cola est composé de 2 entreprises (fanta, pepsi). Un contrat est passé pour le groupe (date 26/02/06, nombre de points 10). L'entreprise fanta demande une campagne publicitaire le 28/02/06, ça va donc couter 4 points sur le contrat de Coca cola, je vais donc enregistrer la campagne en question pour l'entreprise fanta mais sur le compte de coca cola mettre à jour le nombre de points sur le contrat.
J'ai maintenant un nouveau client qui s'apelle Google, il ne fait pas parti d'un groupe. il demande une campagne le 01/03/06 ça va lui couter 3 points. J'enregistre la campagne pour google sur le contrat google.
Contraintes trouvées :
- 1 client appartient à 0 ou 1 groupe.
- à 1 groupe appartient 1 ou N clients.
- 1 contrat est passé par 1 et 1 seul groupe.
- 1 contrat est passé pour 0 ou 1 client. (dans le cas de coca par exemple c'est ni fanta, ni pepsi qui possède le contrat)
- 1 campagne est organisé pour un est un seul client. 1 client demande 0 ou N campagnes.
j'ai modélisé cela de cette façon (simplifié):
client(numero, nom, adresse, num_groupe#, num_contrat#)
groupe(numero, nom, num_client#, num_contrat#)
campagne(numero, date, points, num_client#)
contrat(numero, points_restants, num_groupe#, num_client#)
Le problème de cette modélisation c'est que ça me donne beaucoup de clef étrangère
qu'en pensez-vous ? comment verriez-vous la modélisation de ce chose
merci !