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 :

Création MCD par étape pour mon application


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut Création MCD par étape pour mon application
    Bonjour,
    Certains m'ont déjà sans doute vue récemment dans certains poste du forum. Et au vue de mon projet et de mon niveau, j'ouvre cette discussion afin de pouvoir avoir un retour sur mes étapes de conception de mon MCD-MLD de ma base de données.
    Aujourd'hui, je me suis attardé sur le dictionnaire qui compose mon application. Au vue de tout ce qu'il y a, je crois que je me lance dans un très gros défi (je le savais déjà, mais ce document me le confirme). J'aimerais savoir, si pour vous, avec ce qu'il y a d'écrit, ça semble correct et toujours réalisable via SQL (je pense passais par MySQL pour concevoir ma base au vue des interactions permanente de plusieurs "profil de compte").
    GENERALITES


    1 – Identification des personnes pouvant utiliser l’application

    - Création des identifiants
    - Chaque collègue pourra s’identifier via nom+prenom et un mdp
    - En fonction de ou des établissements où il travaille.

    2 - Gestion des classes

    - On insert la liste des classes de l’établissement
    - On insert la liste des élèves de l’établissement avec mdp par élève
    - On attribuera à chaque enseignant les classes dont il a la charge.

    3 – Mise en place et création des épreuves

    - L’enseignant choisie l’épreuve à laquelle il souhaite que ses élèves participent.
    - Il inscrit sa classe, et éventuellement, celle d’un ou des collègues qui travaillent en même temps. (L’épreuve sera donc affectée dans la liste des épreuves où un enseignant participe).

    4 – Utilisations annexes

    - Modification liste élève de son établissement,
    - Suppression liste élève de son établissement,
    - Modification de son propre MDP,
    - Ajout d’un établissement a son propre profil,
    - Modification liste classe (ajout, suppression)
    - Archivage par extraction des épreuves terminées
    - Un enseignant dont la classe participe à une épreuve, peut modifier ou supprimer les résultats de tous les élèves.
    - Un enseignant dont la classe participe à une épreuve peut en extraire les résultats sous format Excel et/ou CSV.

    5 – Accès élèves

    - L’élève dont la classe participe à une ou plusieurs épreuves peut se connecter à l’épreuve pour entrer ses performances ou résultats et les modifier pendant que la séance est en cours. Ils peuvent aussi consulter l’épreuve intégrale.


    Dictionnaire E/A GENERALITES :

    ENSEIGNANTS (ENS) : nom, prenom, mdp,
    ETABLISSEMENTS (ETA) : nom
    CLASSES : nom
    ELEVES : nom, prenom, sexe, unss, mdpAuto
    EPREUVES (EPV) : nom

    Chose à traiter :

    -Autorisations diverses (cf chap.4)
    -Création des profils enseignants
    -Ajouter Classe à partir d’un fichier EXCEL ou CSV.
    - Ajouter Elèves à partir d’un fichier EXCEL ou CSV.
    -Attribution classes aux enseignants en fonction de leur établissement.
    -Attribution des élèves par classe en fonction de l’établissement dans lequel ils se trouvent.
    -Choix des classes participant à une épreuve, en y précisant la date d’ouverture par l’enseignant.
    -Répartition des épreuves ouvertes aux profils enseignants qui sont en charge des classes participantes.
    -Exporter les résultats d’une épreuve par l’enseignant format Excel et/ou CSV.
    -Accès à l’épreuve pour les élèves via le mdp généré à l’insertion de la liste élève.

    BIATHLON


    1- Réglages

    - On peut identifier plusieurs réglages :
    - Les points marqués par tours de course
    - Les points marqués par 1er tir réussi
    - Les points marqués par 2nd tir réussi
    - Les points pour chaque niveau de succès que peut obtenir un groupe
    - Le nombre d’élève maximum par groupe (allant de 1 à 4).

    2- Mise en place

    - Réalisation des groupes

    3- Réalisation

    - Prise de performance lors des différentes séances réalisées par un élève (soit : nombre de tours en course réalisés, nombre de tir marqué au premier essaye, nombre de tir marqué au second essaye, nombre de tour de pénalité).
    - Bilan de la séance individuelle, où sont calculer ses points, son potentiel de point pour la séance, son % de réussite pour la séance.
    - Intégration des performances de chaque élève dans le bilan du groupe, où sont calculer les points, le potentiel de point pour la séance, le % de réussite pour la séance pour le groupe entier. Auquel on ajoutera les points d’éventuel succès débloqué pour la séance.
    - Bilan de progression, où les résultats de chaque bilan de séance groupe sera référencé afin de mettre en avant la progression du groupe.

    Dictionnaire E/A BIATHLON :

    REGLAGES POINTS (RP) : nom, points
    REGLAGES SUCCES (RS) : nom, niveau, points
    REGLAGE BIATHLON (RB) : quantiteEleve
    GROUPE BIATHLON (GB) : nom
    SEANCES BIATHLON (SB) : date, tours, 1-1try, 1-2try, 2-1try, 2-2try, 3-1try, 3-2try, 4-1try,4-2try, penalites
    BILAN INDIVIDUEL BIATHLON (BIB) : SB + points tours, points (par type de tir : 1 – 2 – 3 – 4), tourspenalites, pointspotentiel,%reussite
    BILAN GROUPE BIATHLON (BGB) : = BIB de chaque élève du groupe + succes, pointsSucces (qui intègre le calcul de %reussite et pointspotentiel)
    BILAN PROGRESSION GROUPE (BPG) : = BGB de chaque séance


    Chose à traiter BIATHLON :

    -Inscriptions des élèves participants dans les groupes
    -insérer les performances réalisées à chaque séance pour chaque élève par les élèves ou l’enseignant. (Avec identification si c’est un élève qui a rempli)
    -Calculer en fonction des réglages chaque BIB, BGB
    -Insérer les succès aux groupes qui en ont débloqués (seul l’enseignant peut le faire)
    -Insérer chaque BGB dans le BPG de chaque groupe
    -Fermeture de l’épreuve par l’enseignant
    -Consultation par l’élève de tous ses BIB / BGB.
    -Consultation du BPG du groupe par un élève du groupe.
    Consultation de toutes les SB / BIB / BGB / BPG par chaque enseignant dont les classe participent à l’épreuve.
    -Ouverture et fermeture de chaque séance par l’enseignant 

    TOURNOIS RAQUETTE


    1- Réglages

    - Points de départ
    - Points marqués en fonction de l’écart entre deux adversaires avant le match.
    - Gestion des handicaps
    o Oui ou non
    o Points d’écart pour le 1er handicap
    o Points d’écart pour le second handicap
    o Liste handicap personnalisable
    - Tournois individuel ou en binôme
    - Points pénalités

    2- Mise en place

    - En fonction des réglages, création des binômes ou non
    - En fonction des réglages, création de la liste personnalisée de handicap si activés

    3- Réalisation

    - Un joueur lance un défi à un autre
    - Si handicap activé, en fonction du nombre de points d’écart, le joueur le plus bas dans le classement peut mettre 1 à 2 handicaps
    - Insertion du résultat suite au match par élève ou enseignant
    - Mise a jour du classement en fonction des points attribués à chaque joueur.
    - L’enseignant peut ajouter à un match, ou modifier un match en ajoutant des points de pénalité pour manquement à certaines règles.

    4- Fonctions annexes

    - Consultation du classement finale par les élèves et l’enseignant
    - Consultation du profil d’un élève par l’élève et l’enseignant
    - Profil élève : nombre de victoire, nombre de défaite, points marqués, points encaissés, nombre de match joué, point au classement, classement actuel


    Dictionnaire E/A :

    REGLAGES POINTS DEPART (RPDTR) : quantitePoints
    REGLAGES POINTS GAGNES VICTOIRE (RPVTR) : ecartPoints, pointsMarqués
    REGLAGES POINTS GAGNES DEFAITE (RPDTR) : ecartPoints, pointsMarqués
    ECART HANDICAP (EH) : ecartPoints, quantite
    LISTE HANDICAP (LH) : nom, description, actif
    REGLAGE GROUPE (RGTR) : nom, actif
    - GROUPE (GTR) : nomParticipant1, nomParticipant2
    - PARTICIPANTS (PTR) : nomParticipant
    REGLAGES POINTS PENALITES (RPPTR)
    MATCH (MTR) : numeroMatch, joueurDefiant, joueurDefie, score1, score2, vainqueur, ecartPoints, pointsVictoire, PointsDefaite, date
    CLASSEMENT (CTTR): participant, pointsClassement, PointsMarqueScore, PointsEncaisseScore, classement
    DEFI : joueurDefiant, joueurDefie, pointsDefiant, pointsDefie, handicapPossible, handicap1, handicap2
    PROFIL ELEVE (PETR) : groupe, pointsMarqueScore, pointsEncaisséScore, pointsClassement, placeClassement, nbVictoire, nbDefaite, nbHandicapUtilsé

    Chose à traiter :

    -Activation handicap
    -activation groupe
    -liste handicap perso
    -ajout des pénalités possible par l’enseignant
    -accès au classement par tous
    -accès au profil élève par l’élève ou l’enseignant
    -fermeture de l’épreuve par enseignants


    TOURNOIS GESTION D’EQUIPE


    1- Réglages

    - Pour chaque séance, gestion de la mixité, nombre de joueur par équipe, nombre de match à faire par équipe, temps de match, nombre de terrain disponible.
    - Gestion des équipes en automatique ou en manuel
    - Pour le tournois complet, nombre de points marqué en fonction du résultat du match.
    - Activation des points double sur certaines séances
    - Points de pénalités

    2- Mise en place

    - A chaque séance, faire l’appel puis composé les équipes en fonction du réglage choisi.
    - Gestion automatique du tournois du jours en fonction des réglages avec affichage du terrain si plusieurs terrains de disponible.

    3- Réalisation

    - Activation du chronomètre par un élève ou l’enseignant au début de chaque match.
    - Insertion des résultats par les élèves ou enseignants
    - Bilan des points par équipe de la séance en fonction des résultats des matchs
    - Mise à jour du classement final en ajoutant les points de la séance a chaque élève de chaque équipe.

    4- Fonctions annexes

    - Consultation des journées précédentes par enseignant.
    - Consultation du classement général.
    - Consultation du profil élève par l’élève et l’enseignant.
    - Profil élève : nombre de match joué, nombre de victoire, nombre de défaite, nombre de nul, classement élève, pénalités subies


    Dictionnaire E/A :

    REGLAGES MIXITE (RMGE) : nom, actif
    REGLAGES MATCH SEANCE (RMSGE) : quantite, tempsMatch, NbTerrain
    REGLAGES QUANTITES JOUEURS (RQJGE) : nombreJoueur
    REGLAGES CREATION (RCGE) : nom, actif
    REGLAGES QUANTITEJOUEUR (RQGE) : nombre 3 à x
    REGLAGES POINTS PENALITE (RPPGE) : nom, quantitePoints
    REGLEGES TYPE DE SEANCE (RTSGE) : nom, multiplicateur
    REGLAGE POINTS (RPGE) : nom, points
    PARTICIPANTS (PGE) : nom, prenom, sexe
    APPEL (AGE) : dateJour, participants, presence
    EQUIPE (EGE) : couleur, nom, prenom
    MATCH (MGE) : equipe1, equipe2, score1, score2, vainqueur, nul, défaite, points1, points2, terrainMatch
    BILAN SEANCE (BSGE) : equipe, nbVictoire, nbDefaite, nbNul, scoresPour, scoresContre, pointsResultat
    CLASSEMENT ELEVE (CTEGE) : nom, prenom, sexe, nbVictoire, nbDefaite, nbNul, scoresPour, scoresContre, pointsResultat
    PROFIL ELEVE (PEGE) : nom, prenom, sexe, nbVictoire, nbDefaite, nbNul, scoresPour, scoresContre, pointsResultat, classementEleve
    DISTRIBUTION EQUIPE AUTO (DEAGE) : nbEquipe, nbJoueur, repartitionMixteFeminin, repartitionMasculin
    REPARTITION 2 EQUIPE : nbJoueur, slot1 a slotx
    REPARTITION 3 EQUIPE : nbJoueur, slot1 a slotx
    REPARTITION 4 EQUIPE : nbJoueur, slot1 a slotx
    REPARTITION 5 EQUIPE : nbJoueur, slot1 a slotx
    REPARTITION 6 EQUIPE : nbJoueur, slot1 a slotx



    Chose à traiter

    -Activation chrono par tous
    -Arrêt chrono en cours enseignant
    -Activation réglages de séance par l’enseignant
    -Les pénalités peuvent être placé par enseignant
    -Accès classement et séance du jour par tous
    -Accès séances précédentes par l’enseignant
    -Remplissage score par tout le monde
    -ouverture et fermeture d’un tournois journalier par l’enseignant
    -création d’équipe manuel par enseignant
    -création d’équipe automatique peuvent être modifié par l’enseignant
    -accès profil élève par l’élève et l’enseignant
    Je suis conscient que cela fait beaucoup de lecture, et je vous serez reconnaissant d'avoir porté attention à ma demande pour que je puisse être rassuré dans mes choix et guidé dans mes erreurs.
    Merci d'avance,
    Neo

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Suite de mon travail, j'ai commencé à réaliser le MCD pour ma partie GENERALITES, je pense que dans l'ensemble cela correspond à mon attente. Le seul soucis est de gérer l'inscription des classe dans l'épreuve. Voici mon schéma :

    Nom : image_2021-04-29_111951.png
Affichages : 57
Taille : 42,5 Ko

    J'ai mis ma réflexion en texte pour que vous puissiez me suivre et me poser des questions si nécessaire pour mieux comprendre.
    Je ne sais pas, comment faire pour mettre en relation l'EPREUVE créer et les classe y participant (avec les élèves de la classe).

  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    7 510
    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 : 7 510
    Points : 28 636
    Points
    28 636
    Billets dans le blog
    16
    Par défaut
    Bonjour Neo07,


    Bel effort, avec un MCD on voit mieux, on peut prendre du recul

    Je suppose que votre application ne prend en compte que l’année scolaire en cours, c’est-à-dire que lors du passage à l’année scolaire suivante tout sera remis à plat, autrement dit qu’il n’y aura pas à considérer l’historisation (par exemple les changements d’affectation des enseignants aux établissements au fil des ans, le parcours successif des élèves dans les établissements et les classes, etc.)

    Le terme "épreuve" est-il synonyme de "discipline sportive" ? d’événement ? "Raquette" (de quoi s’agit-il ?), "biathlon" sont-ils des types d’épreuves ? Quels types d’épreuves sont concernés par la « gestion d’équipe » ?

    Dans votre MCD, l’association ACCUEILLIR est inutile. En effet, un élève est inscrit dans ne classe et une classe appartient à un établissement, donc l’établissement de l’élève est parfaitement déterminé à partir des associations INSCRIRE_DANS et COMPOSER.

    Il doit y avoir une contrainte d’inclusion entre les associations TRAVAILLER, ENSEIGNER et COMPOSER, signifiant qu’un enseignant ne peut enseigner qu’à des classes appartenant aux établissements dans lesquels il travaille.


    Citation Envoyé par Neo07 Voir le message
    Je ne sais pas, comment faire pour mettre en relation l'EPREUVE créer et les classe y participant (avec les élèves de la classe).
    Vous avez établi l’association PARTICIPER et une contrainte d’inclusion. Votre problème concerne-t-il la modélisation de la participation de élèves ?

    Cela dit, la contrainte d’inclusion entre les associations CREER et PARTICIPER est orientée dans la direction CREER → PARTICIPER, signifiant qu’un enseignant ne peut créer une épreuve qu’à la condition que sa classe participe à l’épreuve, soit ; mais quid si on inversait la direction, à savoir PARTICIPER → CREER (comme du reste vous le suggérez) ?


    N.B. Les noms des entités-types doivent être au singulier (ENSEIGNANT au lieu de ENSEIGNANTS). En effet, un nom d’entité-type est en réalité un nom de prédicat au sens de la logique, et l’usage est bien en l’occurrence d’utiliser le singulier.
    (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à pout ça.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Merci pour ce retour fort intéressant qui m'éclaircit un peu mieux sur certains aspects.

    fsmrel :
    Je suppose que votre application ne prend en compte que l’année scolaire en cours
    En effet, chaque année, nous avons à notre disposition un fichier "base_eleve" que nous pouvons utiliser pour notre travail. Pour le "traçage" sur plusieurs années, j'ai une autre application qui me permet de conserver une trace des "résultats" des chaque élève.

    Le terme "épreuve" est-il synonyme de "discipline sportive" ? d’événement ? "Raquette" (de quoi s’agit-il ?), "biathlon" sont-ils des types d’épreuves ? Quels types d’épreuves sont concernés par la « gestion d’équipe » ?
    Oui en effet, l'entité EPREUVE (j'enlève les "s" du coup) est la dénomination pour regrouper les différents événement (je pourrais en effet renommer EVENEMENT mon entité EPREUVE pour plus de cohérence).

    Vous avez établi l’association PARTICIPER et une contrainte d’inclusion. Votre problème concerne-t-il la modélisation de la participation de élèves ?

    Cela dit, la contrainte d’inclusion entre les associations CREER et PARTICIPER est orientée dans la direction CREER → PARTICIPER, signifiant qu’un enseignant ne peut créer une épreuve qu’à la condition que sa classe participe à l’épreuve, soit ; mais quid si on inversait la direction, à savoir PARTICIPER → CREER (comme du reste vous le suggérez) ?
    En effet, justement mon questionnement se porte sur : "comment faire pour inscrire une ou plusieurs classe à une épreuve créé par un enseignant". J'ai pensé que l'inclusion pourrait fonctionner, me suis-je peut être trompé. Je ne perçoit pas encore convenablement le "récit" qu'engendre les différentes contraintes sur une entité, association.

    N.B : j'entends pas "récit" ce genre de phrases : "Un ETAB accueil 1 ou plusieurs élèves. Un ELEVES peut être accueilli par un unique ETAB."

    Modification MCD réalisée :

    Nom : image_2021-04-29_145155.png
Affichages : 55
Taille : 17,8 Ko

    Pour gérer chaque type d'épreuve, je penser utiliser la notion d'héritage, et de gérer le fonctionnement de chacune sous la branche héritage. Mais je ne sais pas si c'est la meilleure solution, et si il y en a d'autre plus propice.

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    7 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 7 066
    Points : 22 389
    Points
    22 389
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Quelques remarques très rapidement :

    Dans votre modèle, un enseignant enseigne dans plusieurs classes et une classe est enseignée par plusieurs enseignants
    C'est inhabituel : dans le primaire, il y a le plus souvent un seul enseignant par classe alors que dans le secondaire, il y a un enseignant par matière.
    Or la matière n'est pas modélisée dans votre sujet. Contexte à préciser donc pour éviter les impairs. L'épreuve est probablement liée à une matière, voire à un niveau (niveau 5e ou terminale par exemple).

    De plus, les élèves et les enseignants ont l'essentiel de leurs attributs en commun. Vous pouvez donc utiliser l'héritage pour mutualiser ces attributs.

    Vous pouvez identifier la classe (R) relativement à l'établissement : ETAB 1,n --- avoir --- 1,1(R) CLASSE

    Dans votre modèle, la table issue de l'association "participer" aura pour PK le couple identifiant epreuve + identifiant classe
    La contrainte d'inclusion, telle que matérialisée, n'a pas de sens. "Participer" ne saurait être précurseur de "Créer", il faut bien entendu que l'épreuve soit créée avant que quelqu'un puisse y participer
    Elle ne pourrait d'ailleurs pas être écrite par une contrainte puisqu'aucun identifiant unique de la table issue de l'association "participer" ne peut être ciblé par une ou plusieurs colonnes de la table "epreuve"

  6. #6
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    7 510
    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 : 7 510
    Points : 28 636
    Points
    28 636
    Billets dans le blog
    16
    Par défaut
    Re bonjour,


    Citation Envoyé par Neo07 Voir le message
    j'entends pas "récit" ce genre de phrases : "Un ETAB accueil 1 ou plusieurs élèves. Un ELEVES peut être accueilli par un unique ETAB."
    Pour éviter la confusion dans l’interprétation des cardinalités minimales (0 ou 1) et maximales (1 ou N), sachant que « peut être accueilli » marque plutôt l’optionalité, il est préférable d’user de la locution « au moins... au plus », même si ça alourdit, mais il ne s’agit pas ici de faire dans la dentelle, on cherche plutôt à ne pas créer un « récit » ambigu. Exemple :

    Un établissement accueille au moins un élève et au plus plusieurs ; un élève est accueilli par au moins et au plus un établissement.


    Je rappelle que votre contrainte d’inclusion est contradictoire avec votre proposition ci-dessous (bien qu’ayant manifestement omis de lire ce que j’ai écrit à ce sujet, escartefigue va dans le même sens...) :

    Citation Envoyé par Neo07 Voir le message
    Une classe peut participer à plusieurs épreuves (si elle a été créée par un enseignant)
    Je suppose que ça n’est pas la classe qui a été créée mais que ce sont les épreuves qui l’ont été. Dans ces conditions, la participation aux épreuves suit leur création, auquel cas je rappelle que le sens de la flèche doit être inversé. A cette occasion, je vous engage à relire l’ouvrage remarquable de D. Nanci et B. Espinasse Ingénierie des systèmes d'information : Merise deuxième génération (4e édition, 2001), c’est l’ouvrage de référence. Voyez les contraintes d’inclusion au chapitre 7.


    Citation Envoyé par escartefigue Voir le message
    De plus, les élèves et les enseignants ont l'essentiel de leurs attributs en commun. Vous pouvez donc utiliser l'héritage pour mutualiser ces attributs.
    A étudier plus tard, pour le moment il y a plus prioritaire.


    Citation Envoyé par escartefigue Voir le message
    Vous pouvez identifier la classe relativement à l'établissement
    C’est ce que j’allais suggérer à Neo07, car au-delà de l’aspect conceptuel, cela pourra vraisemblablement faciliter la mise en oeuvre des contraintes au stade SQL. En tout cas, cela permettra de résoudre pour partie la contrainte d’inclusion impliquant les associations TRAVAILLER, ENSEIGNER et COMPOSER. On en reparlera. Neo07, à noter qu’en l’occurrence, votre contrainte d’inclusion oblige à enseigner avant de travailler...


    Citation Envoyé par Neo07 Voir le message
    Pour gérer chaque type d'épreuve, je penser utiliser la notion d'héritage, et de gérer le fonctionnement de chacune sous la branche héritage. Mais je ne sais pas si c'est la meilleure solution, et si il y en a d'autre plus propice.
    L’héritage s’impose dans la mesure où les attributs des entités-types spécialisées sont hétérogènes.
    (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à pout ça.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Merci pour votre retour escartefigue,

    Dans votre modèle, un enseignant enseigne dans plusieurs classes et une classe est enseignée par plusieurs enseignants
    Dans le secondaire, il est possible qu'une classe soit prise en charge par plusieurs enseignants au cours de l'année (changement d'emploi du temps en fonction des trimestres pour des contraintes horaires ou pour d'autre raison).
    J'ai donc placé ce 1,n en toute bonne volonté et connaissance de cause !
    De plus, cette application ne prévaudra que dans le domaine de ma discipline d'enseignement, donc nul besoin de signifier la matière. Et je ne peux catégoriser une épreuve en fonction du niveau de classe, car il se peut que parfois nous faisions nos épreuves en mixant 2 niveau de classe différents dans le contexte d'une mise en tutorat par les paires par exemple.

    Cela étant, je peux mettre en place ces EVENEMENTS dans le cadre de l'UNSS. De ce fait, dois-je créer une entité UNSS sous jacente de élève, et ainsi la relié à EVENEMENT/EPREUVE via une autre association PARTICIPER_2 (CF nouveau MCD)

    De plus, les élèves et les enseignants ont l'essentiel de leurs attributs en commun. Vous pouvez donc utiliser l'héritage pour mutualiser ces attributs.
    Cela est plus approprié ? En effet, je n'y avait pas pensé.

    Nom : image_2021-04-29_170041.png
Affichages : 58
Taille : 21,9 Ko


    EDIT suite au message de fsmrel

    Je suppose que ça n’est pas la classe qui a été créée mais que ce sont les épreuves qui l’ont été. Dans ces conditions, la participation aux épreuves suit leur création, auquel cas je rappelle que le sens de la flèche doit être inversé. A cette occasion, je vous engage à relire l’ouvrage remarquable de D. Nanci et B. Espinasse Ingénierie des systèmes d'information : Merise deuxième génération (4e édition, 2001), c’est l’ouvrage de référence. Voyez les contraintes d’inclusion au chapitre 7.
    Neo07, à noter qu’en l’occurrence, votre contrainte d’inclusion oblige à enseigner avant de travailler...
    C'est une des notion que j'ai du mal à intégrer, l'ordre et le sens des contrainte, même si cela peut sembler simple à première vue. Je vais donc me pencher plus profondément sur cet ouvrage et cette notion.

    L’héritage s’impose dans la mesure où les attributs des entités-types spécialisées sont hétérogènes.
    Merci pour la confirmation.

  8. #8
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    7 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 7 066
    Points : 22 389
    Points
    22 389
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    L'association "travailler" n'a d'intérêt que si certains enseignants travaillent dans des établissements sans y enseigner.
    Est-ce le cas ?

    Je n'ai pas bien compris ce qu'est "UNSS" dans votre contexte, mais je n'ai pas l'impression qu'il s'agisse d'une spécialisation de l'élève. En quelques clics sur internet j'ai trouvé "Union Nationale du Sport Solaire".
    Je suppose qu'on devrait donc plutôt avoir un simple attribut "Numéro d'adhérent UNSS" dans l'entité-type "élève".
    En l'état, un même élève (au travers de sa spécialisation douteuse UNSS) peut participer plusieurs fois à une même épreuve.

    Les sous-types d'événement n'ont ni attribut spécifique ni association spécifique, si le modèle est complet, ces sous-types n'ont donc pas d'intérêt, à compléter sinon

    Bon courage pour la suite, le devoir m'appelle

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Bonjour escartefigue,

    L'association "travailler" n'a d'intérêt que si certains enseignants travaillent dans des établissements sans y enseigner.
    Est-ce le cas ?
    Non, un enseignant qui se trouve dans un établissement à toujours une classe a laquelle enseignée. J'ai donc supprimé l'association TRAVAILLER.

    Je n'ai pas bien compris ce qu'est "UNSS" dans votre contexte
    L'UNSS est comme une association sportive telle qu'un club de foot, mais régit dans le cadre de l'éducation nationale. J'ai mis une sous entité car tous les élèves n'y sont pas inscrit. Les inscrit sont répartis dans des catégories en fonction de leur année de naissance. Du coup si je passe en propriété "anneeNaissance" pour les élèves participants à l'UNSS, afin de pouvoir utilisé l'entité UNSS indépendamment des groupes classes afin de pouvoir créer des épreuves soit pour les classes, soit pour les élèves de l'UNSS.

    En fait, l'objectif est de faire en sorte que l'UNSS se comporte un peu comme une classe dans les élèves sont tous inscrit à l'UNSS et y sont répartie en fonction de leur catégorie (Minime fille, minime garçon, benjamin et benjamine).

    Est ce que cela conviendrait mieux à ma demande ?

    Nom : image_2021-04-30_112015.png
Affichages : 58
Taille : 20,4 Ko

  10. #10
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    7 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 7 066
    Points : 22 389
    Points
    22 389
    Billets dans le blog
    2
    Par défaut
    Du coup, vous ne vous intéressez pas aux attributs de l'UNSS, mais seulement aux catégories attribuées par l'UNSS aux élèves.
    D'autre part, vous précisez que tous les élèves ne sont pas inscrits, ce qui ferait une cardinalité minimale de zéro et non pas un
    Enfin, je vois que la catégorie UNSS dépend de l'âge.

    Il faut donc ajouter la date de naissance dans l'entité-type personne (ou élève si celle des enseignants ne sert pas, mais j'en doute), puis utiliser une procédure ou une fonction qui calculera la catégorie en fonction de l'âge calculé grâce à cette date de naissance.
    Pas besoin d'entité-type UNSS du coup

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    vous précisez que tous les élèves ne sont pas inscrits, ce qui ferait une cardinalité minimale de zéro et non pas un
    En effet, petite étourderie de ma part, je modifie cela.

    Enfin, je vois que la catégorie UNSS dépend de l'âge.
    Il faut donc ajouter la date de naissance dans l'entité-type personne (ou élève si celle des enseignants ne sert pas, mais j'en doute), puis utiliser une procédure ou une fonction qui calculera la catégorie en fonction de l'âge calculé grâce à cette date de naissance.
    Pas besoin d'entité-type UNSS du coup
    La date de naissance et l'âge de l'enseignant ne sera pas utile dans mon application, j'ai donc placé volontairement "dateNaissance" dans l'entité-type ELEVE.
    Si je comprend bien, pour l'UNSS, je "fusionne" UNSS et CATEGORIE en inscrivant mes élèves de l'unss dans catégorie directement en fonction du sexe et de l'âge des inscris (grâce a une procédure ou une fonction) et réaliser une association entre PARTICIPER et CATEGORIE ?

  12. #12
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    7 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 7 066
    Points : 22 389
    Points
    22 389
    Billets dans le blog
    2
    Par défaut
    Si la catégorie est une conséquence directe de l'âge et donc de la date de naissance, il ne faut pas modéliser de type d'entité dont l'association avec l'élève serait à reconsidérer tous les ans.
    C'est pour ça que je proposais une fonction ou une procédure stockée pour directement obtenir cette catégorie en fonction de la DDN.
    Ou encore une colonne calculée.

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Ok, je vois !

    Cependant, je n'ai pas été asse précis sur mes dire, et je m'en excuse. La catégorie d'un élève est déterminée chaque en fonction de son année de naissance (et pas de son âge). Est ce que dans ce cas, cela change quelque chose car je n'ai plus le calcul de l'âge à réaliser, mais à comparer année de naissance, et la plage année des catégorie (par exemple cette année, les benjamins/benjamines doivent-être nait entre 2010 et 2008). Où cela est encore considérer comme un calcul de données ?

  14. #14
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    7 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 7 066
    Points : 22 389
    Points
    22 389
    Billets dans le blog
    2
    Par défaut
    En fait la catégorie benjamin ou autre correspond bien à un âge, ou plus précisément une plage d'âges, mais la fédération sportive, pour vous faciliter la vie, vous donne tous les ans les années de naissance correspondantes. Et chaque année, un nouveau tableau est renvoyé.
    Dans les faits, la date de naissance permet de calculer l'âge et d'en déduire la catégorie.
    La seule petite difficulté est de savoir à partir de quand dans l'année la catégorie change (au 1er janvier, à la rentrée de la saison sportive, au jour d'inscription...) à vérifier auprès de la fédération ou de l'association concernée.

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Pour nous, en tout cas dans le cadre de l'UNSS, c'est à compter du début de l'année scolaire. c'est à dire, en septembre nous connaissons les plages d'âge pour chaque catégorie.

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Bonjour à tous,

    Je suis un train de me documenté sur l'ouvrage que m'a conseillé fsmrel. Et dans le chapitre sur les Exclusivités de participation, je suis tombé sur ces exemples :

    Nom : image_2021-05-02_135053.png
Affichages : 45
Taille : 92,5 Ko

    Le cas 1, je le comprend complétement, c'est le cas basique. Mais le deux autres cas, je n'arrive pas à comprendre l'exclusivité de participation étant donné que A participe a la fois a R1 et R2.

    Merci d'avance pour vos explications !

  17. #17
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    septembre 2006
    Messages
    7 510
    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 : 7 510
    Points : 28 636
    Points
    28 636
    Billets dans le blog
    16
    Par défaut
    Bonsoir Neo07,

    Citation Envoyé par Neo07
    Mais le deux autres cas, je n'arrive pas à comprendre l'exclusivité de participation étant donné que A participe a la fois a R1 et R2.
    C’est du Nanci pur jus. Quoi qu'il en soit, considérons par exemple le cas 2 : l’auteur veut manifestement dire que, étant donnée une instance a de A, si celle-ci ne participe ni à R1 ni à R2, il est alors possible de la faire participer d’abord à R2, et dans la foulée aussi à R1. Par contre, si on la fait participer d’abord à R1, il faudra en interdire la participation à R2. Méfions-nous de ce genre de possibilité, propre à semer le trouble...
    (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à pout ça.

  18. #18
    Membre expérimenté
    Avatar de Paprick
    Homme Profil pro
    Professeur des Universités
    Inscrit en
    juin 2019
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Professeur des Universités
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2019
    Messages : 387
    Points : 1 545
    Points
    1 545
    Par défaut
    Bonjour,
    Citation Envoyé par fsmrel Voir le message
    C’est du Nanci pur jus. Quoi qu'il en soit, considérons par exemple le cas 2 : l’auteur veut manifestement dire que, étant donnée une instance a de A, si celle-ci ne participe ni à R1 ni à R2, il est alors possible de la faire participer d’abord à R2, et dans la foulée aussi à R1. Par contre, si on la fait participer d’abord à R1, il faudra en interdire la participation à R2. Méfions-nous de ce genre de possibilité, propre à semer le trouble...
    Effectivement, cette proposition est pour le moins trouble . Cet aspect de l'ouvrage de Nanci et Espinasse n'est, à mon avis, pas celui qu'il faut le plus retenir : en effet, le propre d'un modèle de données est d'être statique (contrairement à des modèles de flux ou de traitements) ; donc, le coup du "qui a fait quoi d'abord" ne me parait pas avoir sa place dans un MCD. D'ailleurs Nanci, qui a beaucoup collaboré à la conception de Win'Design, n'a pas fait introduire cette notion dans l'outil de modélisation de Cecima .
    Patrick Bergougnoux - Professeur des Universités au Département Informatique de l'IUT de Toulouse III
    La simplicité est la sophistication suprême (Léonard de Vinci)
    LIVRE : Modélisation Conceptuelle de Données - Une Démarche Pragmatique
    Looping - Logiciel de modélisation gratuit et libre d'utilisation

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    février 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2018
    Messages : 19
    Points : 9
    Points
    9
    Par défaut
    Merci pour vos retour,
    Je comprend un peu mieux, mais je ne chercherais pas à aller plus loin dans la compréhension pour le coup ^^

    Concernant mon application, si j'ai bien compris, dès qu'il y a un calcul au sein d'une Entité-Type, il ne faut pas la modéliser ?
    Car dans ce cas, au sein de mon tournois Raquette et gestion d'équipe, dans ma base de donnée, j'aurais plein d'élément qui n'apparaitront pas. Je parle ici d'éventuel Classement, calcul de résultat de match, de points marqué.
    Et je crois qu'il en va de même pour ce que j'appelle les réglages de chaque événement ?

    J'ai commencé à me frotter à la modélisation de ces différentes mais j'ai déjà plusieurs problème qui se pose. Tout d'abord,

    Nom : image_2021-05-03_181312.png
Affichages : 27
Taille : 24,8 Ko

    J'en reviens à ma gestion des élèves inscrit à l'UNSS. Il est donc nécessaire que je réalise une procédure dans les prochaines étapes de conception pour assigner une catégorie en fonction de l'année de naissance des élèves inscrits ?

    Pour mes différents événement, si j'ai bien compris ce que j'ai lu sur le livre, je suis dans le cas d'un généralisation, l'Entité-type "EVENEMENT" est une généralité de chacun de mes différents événements ?

    Ensuite, j'ai commencé à modéliser mon événement nommé "BIATHLON", qui est celon moi le plus simple à gérer niveau BDD dans un premier temps.

    Voici ce que cela donne. J'ai exclu de la modélisation, tous les éléments qui possédaient un calcul, comme les bilan de séance, ou les bilan de groupe qui doivent se traduire par un calcul de point en fonction des réglages en un score et un pourcentage de réussite sur la séance.

    Nom : image_2021-05-03_183746.png
Affichages : 27
Taille : 25,8 Ko

    Mon problème principal ici, je n'arrive pas à comprendre comment récupérer ma liste élève pour créer mes groupes ? et de même pour faire en sorte que chaque élève puisse réaliser leurs séances ? Car si je relie juste BIATHLON et PARTICIPANT, il y aura une redondance, car un participant est un élève, qui est déjà "répertorié" dans ma partie "GENERALE".

  20. #20
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    7 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 7 066
    Points : 22 389
    Points
    22 389
    Billets dans le blog
    2
    Par défaut
    Bonsoir,

    J'ai peut être loupé un épisode, mais plus haut, on a dit que la catégorie UNSS dépendait de l'âge.
    Or dans une même classe, on peut avoir des âges très différents : redoublants, enfants ayant sauté une ou plusieurs classes...
    Comme je le disais plus haut, "CATEGORIE" n'est donc pas un type d'entité, mais un attribut calculé, il n'est pas nécessaire de le stocker (ou alors sous forme de colonne persistante, ce que ne permettent pas tous les SGBD)
    L'association participer devient donc une simple binaire entre "CLASSE" et "EVENEMENT"

    De plus, la contrainte d'inclusion de "participer" vers "créer" avec pour seule entité pivot "EVENEMENT" n'apporte rien et on ne peut pas y ajouter pour pivot "ENSEIGNANT" car l'identifiant de l'enseignant (de la personne) est absent de l'association "participer"

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/11/2016, 13h06
  2. Réponses: 3
    Dernier message: 01/07/2014, 09h13
  3. Réponses: 0
    Dernier message: 09/06/2010, 09h36
  4. Réponses: 9
    Dernier message: 22/02/2008, 14h21
  5. Création d'un alias via mon application
    Par Neilos dans le forum C++Builder
    Réponses: 3
    Dernier message: 18/10/2003, 23h29

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