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 :

contrainte d’inclusion [MCD]


Sujet :

Schéma

  1. #1
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut contrainte d’inclusion
    Bonjour à tous,

    me voila tout fraichement initié aux principes Merise. Evidemment j’ai tout lu dans « Merise pour les nuls » (), j’ai à peu près compris certaines choses () et le passage à la pratique a finalement révélée toute l’immensitude de mon incompéture ().

    Voici le problème :
    Je voudrais référencer dans une base les activités que je mène avec des étudiants. Ci-joint le prototype du MCD de M#%@¤ qui me pose problème.

    Les règles de gestion sont :

    - Les activités menées avec les étudiants sont des activités de formation ou d’évaluation (les attributs de « Activités-formation » et « Activités-évaluation » restent à définir, je pense à Date-évaluation ou Note-évaluation en relation avec une future table « Etudiants »).
    - Une activité de formation doit cibler un « Centre d’Intérêt » et un seul (dans notre jargon, un C.I est en gros un chapitre du programme de formation). Par contre en évaluation (en interro.) l’activité peut cibler plusieurs C.I (par exemple un examen terminal qui doit normalement cibler tous les C.I ou presque).
    - Dans chaque C.I sont inclues des thématiques (en gros des sous-chapitres du programme)
    - Une activité (formation ou évaluation) doit aborder une ou plusieurs thématiques du/des C.I ciblé(s).


    J’espère ainsi, avec des requêtes, avoir une idée plus claire des chapitres abordés, ceux qui ne le sont pas ou peu, etc…

    Là où le MCD foire (sans doute l’aviez-vous déjà remarqué), c’est qu’une activité peut aborder une thématique qui n’est pas inclue dans le/les C.I ciblé(s) par l’activité. J’me fais bien comprendre ?

    Contrainte d’inclusion ? Identifiant relatif ? autre chose ???. Y’a un truc qui m’échappe.

    Quelqu’un peut-il m’aider à résoudre mon problème ?

  2. #2
    wazup
    Invité(e)
    Par défaut
    bonsoir,

    je verrais bien qqchose comme ça :



    à noter id relatif entre thematique et ci

    et la personnalisation de "aborder",

    une contrainte symétrique d'inclusion étant à faire sur l'autre type activité (donc une asso "aborder dediée)
    Images attachées Images attachées  

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    Bonjour et merci pour la réponse rapide.

    Voici donc ci-joint le MCD complété grâce aux conseils de Wazup.
    J’ai rajouté la relation « aborder(1) » car selon mes règles de gestion une activité de formation n’aborde pas forcément toutes les thématiques du C.I ciblé. Avec les identifiants relatifs, je m’assure qu’une thématique abordée est bien inclue dans le C.I ciblé par l’activité de formation. J’ai testé avec Access pour m’en convaincre et tout me semble OK en ce qui concerne les activités de formation.

    Par contre, j’ai encore besoin de renseignements sur l’autre association « aborder(2) » et la contrainte d’inclusion. J’ai généré le MLD ci-joint et testé le modèle sous Access pour bien comprendre ce qui se passe.

    A priori, dans la table « Aborder(2) » je peux rentrer un N°CI qui n’est pas référencé dans la table « Cibler(2) ». Autrement dit, une activité d’évaluation peut aborder des thématiques de C.I qui ne sont pas ciblés. ??!!

    J’aurais oublié qqchose dans Windesign ? Le MCD ne permettrait-il pas de prendre en compte cette contrainte ? Serait-ce plutôt le rôle d’un script (ou trigger, ou déclencheur ou chaispasquoi faudrait aussi m’expliquer sivouplai si tous ces termes désignent la même chose ou pas) ?
    Images attachées Images attachées   

  4. #4
    wazup
    Invité(e)
    Par défaut
    euhhh deux choses :

    1) la seconde contrainte, à mon sens, est en tout point identique à la première,mais symétrique graphiquement parlant. (c'est pourqoi je ne l'ai pas représentée)

    2) les contraintes d'inclusion appartiennent au versant "dynamique", donc n'apparaissent pas dans un modèle physique. Il s'agit effectivement de triggers qui, en général, sont basés sur le style {ensemble violant la contrainte} = {ensemble vide}

    exemple :

    "selectionner les ensembles {ci, numeros de thematiques} figurant dans "aborder" qui n'existent pas dans "CIBLER(2)" " ... à la jointure près

    DOIT retourner {ensemble vide}

    (Je te laisse le soin de faire le trigger on insert)

  5. #5
    wazup
    Invité(e)
    Par défaut
    en outre, ton MPD ne correspond plus a ton MCD.

    Cedci vinet peut-être du fait que tu as mal interpreté ma reponse, car pour moi, il fallait (the blame on me, j'ai peut-être cru être assez clair) compléter d'abord ma réponse en "symétrisant" le truc suivant l'axe d'héritage :

    On retourve la m^me chose "en bas" et "en haut".

    Par exemple, où est passé "cible(1)" dans ton schéma ?

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    On retourve la m^me chose "en bas" et "en haut".
    ah OK j’ai compris, milescuses pour mon défaut de comprenette. C’était pourtant aveuglant de clarté.

    J’ai modiftesté et tout marche nickel.

    Un problème MCD de plus en moins.

    et à une prochaine.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Desactiver temporairement les contraintes
    Par maitrebn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/10/2006, 17h58
  2. [ contrainte ] supprimer une contrainte DB2
    Par hocinema dans le forum DB2
    Réponses: 4
    Dernier message: 08/01/2004, 15h01
  3. Les contraintes OCL
    Par bart64 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 19/12/2003, 18h47
  4. Suppression de la contrainte unique
    Par mika dans le forum SQL
    Réponses: 3
    Dernier message: 20/02/2003, 17h56
  5. [VB6] Affichage d'image avec qlq contraintes
    Par youri dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/11/2002, 14h44

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