IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Services d'Enseignements sur des Modules


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 21
    Points : 8
    Points
    8
    Par défaut Services d'Enseignements sur des Modules
    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

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Je suppose que vous faites allusion à la discussion avec Avairet, lequel se bat contre les ignares staliniens.

    Avant de tenter de faire quelque chose pour vous concernant l'aspect historisation, merci de fournir quelques précisions.

    Selon la représentation graphique de votre MCD l’identifiant de l’entité-type Module (merci d’utiliser le singulier pour le nom d’une entité-type) serait composé du couple {id, periode_id}, ce qui logiquement ne devrait pas être le cas. Qu’en est-il exactement ?

    Conceptuellement, un service est-il une association entre un enseignant et un module ? Autrement dit, à un instant donné, un enseignant ne doit-il pas assurer qu’un seul service pour un module donné ? Selon votre représentation graphique, un enseignant peut assurer en même temps plusieurs services pour un module donné.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Oui effectivement la discussion avec Avairet en fait partie ainsi que celles portant sur des gestions d'emploi du temps et de cours.

    Les identifiants de chaque entités sont uniquement les champs id (Convention du framework utilisé), les clefs du type nomentités_id sont en fait des clefs étrangères (Toujours une convention du framework en réalité dans la base elles ne sot pas déclaré en tant que clef même si je les ai mal représentés effectivement, je n'aurais pas dû les faire apparaître en fait).

    Concernant les associations, un enseignant peut effectivement effectuer plusieurs services dans un seul module pour une même période, les périodes sont des Semestre. Il n'y a pas de notions de contraintes de temps en terme de dates où de concurrence temporelle.

    J'espère être assez clair sinon je peux refaire un schéma plus classique et fournir d'autres précisions bien sûr.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Est-ce qu'une association ternaire entre Services, Modules et Periodes ne suffirait pas ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    D'après ce que j'en sais l'association ternaire ne garantirai pas que les services restent inchangés en cas de modification des modules non ?

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Citation Envoyé par FiSh MoOn Voir le message
    D'après ce que j'en sais l'association ternaire ne garantirait pas que les services restent inchangés en cas de modification des modules non ?
    Je ne saisis pas le sens de ce que vous dites. Qu’entendez-vous par modification de module et quel en est exactement l'impact ?


    Si vous voulez que nous puissions vous aider, avant toute chose, présentez-nous un MCD débarrassé des contraintes du framework. Ce n’est qu’une fois que ce MCD aura été réputé conforme aux règles de gestion des données énumérées exhaustivement, que vous pourrez injecter de la pollution.

    Un des buts à atteindre et de pouvoir mettre en évidence au niveau logique non seulement les clés primaires artificielles (les id), mais surtout l'intégrale des clés candidates, issues des données naturelles intervenant dans les règles de gestion.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 21
    Points : 8
    Points
    8
    Par défaut
    Ce dont je parle se rapporte à l'explication sur le premier post.
    Citation Envoyé par FiSh MoOn Voir le message
    Bonjour,
    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
    Merci pour les réponses, malheureusement pour le coup c'est moi qui ne sais pas de quoi vous parlez, enfin très vaguement.
    mais surtout l'intégrale des clés candidates, issues des données naturelles intervenant dans les règles de gestion.
    Je pensais avoir modélisé dans cet esprit mais à l'évidence ça ne parait pas clair, n'ayant pas le temps nécessaire pour approfondir cela pour le moment je vais, je pense, rester sur la solution que j'envisageai. Je pense qu'elle n'est pas excessivement pénalisante.

    A tous bonne journée.

Discussions similaires

  1. [SQL] Gérer les droits sur des modules !
    Par furth dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 05/06/2007, 12h01
  2. Réponses: 1
    Dernier message: 27/03/2007, 17h52
  3. Réponses: 1
    Dernier message: 26/02/2007, 09h44
  4. Réponses: 5
    Dernier message: 04/07/2006, 00h11
  5. Réponses: 35
    Dernier message: 10/05/2006, 01h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo