Bonjour,
première chose j'aurais dû venir poster plus tôt
je suis en train de mettre en place un outil web de gestion des heures complémentaires d'enseignement dans mon établissement.
Tout d'abord je précise que j'utilise le framework cakephp ce qui explique la déclaration un peu particulière des clefs dans mes tables.
Je travaille actuellement sur le site en question avec la structure BD jointe un peu plus bas (simplifiée), et je me heurte à, je crois, un problème de conception, j'espère que quelqu'un pourras m'éclairer sur l'organisation de cette BD.
Le principe:
Des modules contenant un quota d'heures d'enseignements à effectuer sont définis, les enseignants effectuent des services qui correspondent à une partie de ces heures. Ces modules appartiennent à une période (semestres).
Probléme:
Ces modules sont remaniés annuellement (périodex2) et il faut pouvoir garder l'historique des services effectués.
contraintes:
- un enseignant peut faire aucun ou plusieurs services
- un module peut être composé d'aucun ou plusieurs services
- un service appartient obligatoirement à 1 (seul) module
- un service est effectué obligatoirement par 1 (seul) enseignant
- Un module appartient obligatoirement à 1 (seule) période
http://imagik.fr/view-rl/116686
J'ai lu les posts concernant l'historisation ainsi que quelques guides expliquant la mise en place d'une table intermédiaire contenant la relation en incluant la date, et dans certaines versions, les valeurs modifiées.
Néanmoins, je ne vois pas comment l'appliquer dans ce cas, en effet cette table d'historisation devrait être liée au tables modules et services, mais ces mêmes services contiennent déjà des valeurs représentant un certain volume d'heure.
Je ne trouve pas de modélisation convenable, j'espère qu'une solution élégante existe sinon je devrais définir une période en cours, et lors du changement de période annuel, dupliquer les modules en les affectants à la nouvelle période pour ne pas affecter les anciens services.
Voilà voilà, toute aide est la bienvenue, et merci à toute personne ayant eu le courage de lire ce post
Partager