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 :

Validation partie MCD [MCD]


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 18
    Points
    18
    Par défaut Validation partie MCD
    Bonjour,

    je travaille actuellement sur un MCD et je ne sais pas si ma solution est optimale, voire correcte.

    Le contexte :
    - une machine peut héberger plusieurs projets
    - un projet peut être hébergé sur plusieurs machines
    - un projet est programmé par plusieurs utilisateurs
    - un utilisateur peut travailler sur plusieurs projets
    - un utilisateur ne peut administrer que les machines qui hébergent un des projets sur lequel il travaille.

    J'ai joint un MCD de base sans l'ajout de la partie administration ainsi qu'un deuxième MCD avec la partie administration.

    Est-ce, à votre avis, la bonne solution ?

    Merci d'avance
    Images attachées Images attachées   

  2. #2
    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
    OK pour la partie simple.
    Par contre, l'association "administre" n'est pas une ternaire.

    Un utilisateur peut administrer plusieurs machines.
    Utilisateur -0,n----Administrer----0,n- Machine

    Le fait qu'il ne puisse administrer que les machines sur lesquelles sont hébergés les projets sur lesquels il travaille fait l'objet d'une contrainte à gérer par le SGBD.

    A l'insertion d'une ligne dans la table associative "administre", il faudra qu'un trigger vérifie que cet utilisateur a le droit d'aministrer cette machine parce qu'il travaille sur un projet hébergé par la machine.

    Je crois que ce genre de contrainte peut se représenter en MCD mais je n'ai pas l'outil pour le faire et je ne crois pas que AnalyseSI, que vous avez utilisé, en soit capable.
    Une solution simple peut consisiter à écrire la contrainte sous forme de texte sur le MCD.
    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
    Membre à l'essai
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    OK pour la partie simple.
    Par contre, l'association "administre" n'est pas une ternaire.

    Un utilisateur peut administrer plusieurs machines.
    Utilisateur -0,n----Administrer----0,n- Machine

    Le fait qu'il ne puisse administrer que les machines sur lesquelles sont hébergés les projets sur lesquels il travaille fait l'objet d'une contrainte à gérer par le SGBD.

    A l'insertion d'une ligne dans la table associative "administre", il faudra qu'un trigger vérifie que cet utilisateur a le droit d'aministrer cette machine parce qu'il travaille sur un projet hébergé par la machine.

    Je crois que ce genre de contrainte peut se représenter en MCD mais je n'ai pas l'outil pour le faire et je ne crois pas que AnalyseSI, que vous avez utilisé, en soit capable.
    Une solution simple peut consisiter à écrire la contrainte sous forme de texte sur le MCD.
    Merci de votre réponse.

    Effectivement j'avais pensé au Trigger mais je me suis dit qu'une relation dans le MCD me permettrait de gérer celà différemment.

    AnalyseSI est assez basique, peut-être devrais-je essayer la version d'évaluation de WinDesign ?

    Si j'écris un commentaire à propos de la contrainte dans le MCD, dois-je garder la table "administre" (en la remplissant via trigger lors de l'ajout d'un utilisateur) ?

    Cordialement.

  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
    Citation Envoyé par showlap1 Voir le message
    Si j'écris un commentaire à propos de la contrainte dans le MCD, dois-je garder la table "administre" (en la remplissant via trigger lors de l'ajout d'un utilisateur) ?
    L'association "administre" existe et répond au cahier des charges mais sa seule représentation en tant qu'association est insuffisante à répondre à la contrainte.

    Dans la BDD, il y aura bien une table correspondant à l'association "Administre" et il faudra soit un trigger pour la remplir en obéissant à la contrainte, soit c'est le programme utilisateur qui s'en charge.
    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
    Membre à l'essai
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 29
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    L'association "administre" existe et répond au cahier des charges mais sa seule représentation en tant qu'association est insuffisante à répondre à la contrainte.

    Dans la BDD, il y aura bien une table correspondant à l'association "Administre" et il faudra soit un trigger pour la remplir en obéissant à la contrainte, soit c'est le programme utilisateur qui s'en charge.
    Ok merci beaucoup.

    Je passe en résolu.

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

Discussions similaires

  1. [MCD] Validation - Correction MCD
    Par Mephista dans le forum Schéma
    Réponses: 1
    Dernier message: 15/01/2014, 12h20
  2. [MySQL] Validation de MCD
    Par adordor dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/04/2013, 23h56
  3. [MCD] Demande de validation pour MCD
    Par Dokhoo dans le forum Schéma
    Réponses: 1
    Dernier message: 28/05/2012, 15h45
  4. [MOT] validation du MCD
    Par lolouf dans le forum Merise
    Réponses: 0
    Dernier message: 18/07/2009, 19h25
  5. [MCTA] validation MCC MCD MCT
    Par bambi98 dans le forum Merise
    Réponses: 1
    Dernier message: 22/01/2009, 15h18

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