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

  1. #1
    Membre habitué
    Comment gérer la disponibilité de 2 entités ?
    Bonjour,

    Il s'agit d'une application qui va permettre de gérer l'apprentissage à la conduite en moto.

    Je suis confronté à un soucis par rapport à la disponibilité des formateurs et des motos. J'aimerais bien savoir comment je pourrais gérer ça? J'ai en fait 3 questions:




    1) Comment je pourrais gérer la disponibilité des formateurs? C'est à dire que si je souhaite ajouter une séance pour un candidat, j'aimerais récupérer tous les formateurs qui sont disponibles à ce moment là...

    2) Idem, pour la moto, si celle-ci est en cours de révision, elle ne pourra pas être disponible pour une séance, j'aimerais qu'elle soit exclus de mon listing automatiquement lorsque je sélectionnerai une moto.

    3) Dois-je créer une entité disponible qui sera lié à la table "formateur" et "moto" ??

    Merci pour vos explications

  2. #2
    Modérateur

    Vos questions relèvent du requêtage de la BDD, pas de la modélisation conceptuelle.

    Une remarque toutefois sur votre MCD :
    Évitez les cardinalités mini à 1 des deux côtés d'une association quand ce n'est pas pleinement justifié.
    Ainsi, une moto neuve n'a pas encore de révision planifiée. On doit pouvoir enregistrer en BDD la moto sans devoir en même temps enregistrer sa première révision.
    De même, un formateur peut être nouvel embauché, malade, en congés... et ne pas avoir encore de séance à encadrer. D'ailleurs, et en rapport avec vos questions, je pense que vous devriez modéliser ces cas d'absence des formateurs sinon vous risquez de programmer une séance à un formateur qui est en vacances !
    Enfin, un candidat nouvel inscrit peut n'avoir réservé encore aucune séance. Notamment s'il n'en est qu'à l'apprentissage du code.
    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 !

  3. #3
    Expert éminent sénior
    Bonsoir,

    Outre les conseils de Cinéphil auxquels je souscris entièrement, j'ajoute que les formateurs comme les candidats sont des personnes, il faut donc mutualiser les attributs qui leur sont communs dans une même entité-type "Personne" et utiliser l'héritage pour distinguer ce qui caractérise les uns ou les autres (attributs et/ou associations spécifiques)
    J'ajoute également que un nom ou un prénom sur 25 caractères c'est un peu juste, de plus, pour des longueurs modestes telles que 25, du type char sera le plus souvent plus performant que du varchar

    Par ailleurs, votre modèle semble correspondre à des cours de conduite, mais quid des cours théoriques, des réservations, du paiement des cours, des devis etc...?

  4. #4
    Membre habitué
    Bonjour,

    Merci pour vos réponses, je vais me concentrer donc sur la partie SQL et Programmation.
    Petite question comme même, concernant la gestion du fomateur, dois-je ajouter juste un champ "disponiblité" par exemple?

    @escartefigue: Effectivement, mon MCD gère uniquement les cours de conduite en fait.

  5. #5
    Modérateur

    je vais me concentrer donc sur la partie SQL et Programmation
    Présentez-nous quand même le modèle de données modifié parce qu'il y avait des choses à corriger.

    concernant la gestion du fomateur, dois-je ajouter juste un champ "disponiblité" par exemple?
    C'est insuffisant !
    Le formateur peut être indisponible aujourd'hui mais disponible dans une semaine. Si on vous demande un cours pour la semaine prochaine, comment saurez-vous qu'il est disponible ?
    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 !

  6. #6
    Expert éminent sénior
    Citation Envoyé par CinePhil Voir le message
    Présentez-nous quand même le modèle de données modifié parce qu'il y avait des choses à corriger.


    C'est insuffisant !
    Le formateur peut être indisponible aujourd'hui mais disponible dans une semaine. Si on vous demande un cours pour la semaine prochaine, comment saurez-vous qu'il est disponible ?
    Effectivement et, l'auto-école concernée ne donne-t-elle que des cours moto ?
    Le plus souvent les moto-écoles sont également auto-école. Si c'est votre cas, il faut prévoir de gérer la disponibilité des formateurs non seulement par date et heure comme le précise justement Cinéphil, mais aussi par compétence ; à moins que tout formateur moto soit également compétent auto et inversement.

    Tous ces questionnements auraient été levés si les règles de gestion avaient été rédigées, c'est un préalable à la schématisation du MCD, il aurait fallu commencer par là