1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Intégrateur Web
    Inscrit en
    octobre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : octobre 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Problème de structure MLD

    Bonjour à tous,

    J'ai un petit soucis dans la conception de mon schéma et je galère.
    Si un expert est dans le coin je suis preneur.

    Voici ma problématique :

    Nous sommes dans une école.
    Chaque étudiant doit passer des examens. Il les passera quand les professeurs l'auront décidés.
    A son inscription il n'aura pas de test mais il peut en avoir une infinité à la fin de l'année.
    Un test comprend plusieurs catégories et chaque catégorie contient une ou plusieurs questions.
    Chaque fois qu'il passera un test il répondra aux questions une par une. Chaque question aura une réponse. Un examen est terminé quand toutes les questions sont remplies.

    Et c'est justement ce passage qui me bloque...
    Voici ce que je propose.
    En vert le passage de clés.

    Nom : mcd_students.png
Affichages : 44
Taille : 17,7 Ko

    Je suis tenté de relié les réponses directement aux questions. Les cardinalité seraient 1.1/0.1
    La conséquence serait de créer une nouvelle table entre réponses et questions qui recevrait les deux clefs ?
    Ou alors simplement passer la clef de la question dans l'entité de la réponse...

    Question bonus, si un examen est terminé il doit changé de status (en "fini" par exemple).
    Si dans le temps le nombre de questions change (ajout ou suppression), comment gérer cela ?
    Normalement ça ne changera en rien mon historique si je recherche les tests terminés et donc les questions qui ont des réponses ?

    Merci à celui qui voudra bien m'aider.

  2. #2
    Expert éminent

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    3 115
    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 : 3 115
    Points : 6 859
    Points
    6 859
    Billets dans le blog
    1

    Par défaut

    Bonjour,

    Votre schéma est de type ENTITE-ASSOCIATION c'est donc un MCD (modèle conceptuel des données) et non un MLD (modèle logique des données)

    Pour ce qui concerne les catégories de questions, il me semble que ce sont les questions qui sont en relation avec les examens, et que chaque question est d'une et une seule catégorien ce qui donne le schéma suivant :

    EXAMEN 1,n --- contenir --- 1,1 QUESTION 1,1 --- catégoriser --- 0,n CATEGORIE

    Du coup votre schéma peut devenir le suivant (fait avec DBMAIN, je n'ai pas Power-AMC à la maison, c'est trop cher )

    Nom : Etudiant_V0.MCD.png
Affichages : 27
Taille : 13,8 Ko

    Le fait d'identifier les questions relativement à l'examen, et les réponses relativement aux questions, permettra de vérifier qu'un étudiant qui répond aux questions, est bien inscrit à l'examen correspondant.
    Il suffira pour cela, dans le MPD généré, de créer une contrainte de type référence de la table "choisir" vers la table "inscrire" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ALTER TABLE CHOISIR 
    ADD CONSTRAINT FK1_ref_question 
    FOREIGN KEY (ET_id, EX_id)     
        REFERENCES INSCRIRE(ET_id, EX_id)
    Cette question :
    Citation Envoyé par Devomis Voir le message
    Question bonus, si un examen est terminé il doit changé de status (en "fini" par exemple).
    Si dans le temps le nombre de questions change (ajout ou suppression), comment gérer cela ?
    Normalement ça ne changera en rien mon historique si je recherche les tests terminés et donc les questions qui ont des réponses ?
    est sans impact sur la modélisation conceptuelle. Il ne faut pas stocker d'information de type "répondu à toutes les questions O/N", il suffira, par traitement, de vérifier que pour l'étudiant et l'examen, il n'existe pas de question restée sans réponse.
    Pour ce faire, vous pourrez vous intéresser à la division relationnelle, mais c'est encore prématuré à ce stade

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Intégrateur Web
    Inscrit en
    octobre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : octobre 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut

    Bonjour Escartefigue !

    Merci pour cette réponse.
    Effectivement j'ai écrit un peu rapidement, il s'agit bien de MCD (très custom pour le coup...).

    Le fait d'identifier les questions relativement à l'examen, et les réponses relativement aux questions, permettra de vérifier qu'un étudiant qui répond aux questions, est bien inscrit à l'examen correspondant.
    Après réflexions j'en étais aussi arrivé à inverser questions et catégories.
    Mais je pensais plutôt que ça me permettrait de retrouver les questions utilisées par examen.

    Pour la relation "réponse" j'hésitais entre votre solution ou votre solution sans "choisir".
    Mais au final je me suis perdu dans mes réflexions. Je ne comprends pas bien pourquoi "choisir" est nécessaire alors qu'il s'agissait de mon premier choix.
    Peut'on retrouver l'ensemble des données sans cette entité ?
    Je serais friand d'une explication

    Je vais regarder le lien.

    Merci.

  4. #4
    Expert éminent

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    3 115
    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 : 3 115
    Points : 6 859
    Points
    6 859
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par Devomis Voir le message
    Après réflexions j'en étais aussi arrivé à inverser questions et catégories.
    Mais je pensais plutôt que ça me permettrait de retrouver les questions utilisées par examen.
    Rien de plus facile avec le modèle proposé :
    Chaque question a pour PK EX_id+QS_id ==> recherche de toutes les questions d'un examen = SELECT col1, col2, ..., coln from QS_Question where EX_id = @ma_valeur
    Et comme chaque question a le code catégorie en FK, vous pouvez également retrouver facilement toutes les questions d'une catégorie très facilement

    Citation Envoyé par Devomis Voir le message
    Pour la relation "réponse" j'hésitais entre votre solution ou votre solution sans "choisir".
    Mais au final je me suis perdu dans mes réflexions. Je ne comprends pas bien pourquoi "choisir" est nécessaire alors qu'il s'agissait de mon premier choix.
    Peut'on retrouver l'ensemble des données sans cette entité ?
    Je serais friand d'une explication
    La relation "choisir" est requise pour savoir quelle réponse a choisi tel étudiant à telle question de tel examen

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Intégrateur Web
    Inscrit en
    octobre 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : octobre 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut

    Merci pour toutes ces réponses rapides et complètes et pour le rafraîchissement de mémoire

    Je vous souhaites de très bonnes fêtes de fin d'année (et même d'autres).

Discussions similaires

  1. Problème de structure "récursive"
    Par Pxnet dans le forum C
    Réponses: 5
    Dernier message: 21/01/2007, 18h20
  2. Problème de structures
    Par Zikas-r dans le forum C
    Réponses: 6
    Dernier message: 27/12/2006, 01h01
  3. Réponses: 16
    Dernier message: 21/08/2006, 15h12
  4. [Structures]Problème sur structures
    Par kendras dans le forum C++
    Réponses: 5
    Dernier message: 07/06/2006, 11h20
  5. [OCaml] Problème de structure/parser
    Par marv1 dans le forum Caml
    Réponses: 4
    Dernier message: 09/05/2005, 13h16

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