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

Merise Discussion :

Proposition de schéma "MCD"


Sujet :

Merise

  1. #1
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut Proposition de schéma "MCD"
    Bonjour,
    Ci-dessous mon schéma "Entité / Association":

    Nom : mcd.PNG
Affichages : 4011
Taille : 26,8 Ko

    Pour résumer:
    • Une personne possède un seul type. Mais certain type peuvent ne pas avoir de personne.
    • Le type se compose de 'Administrateur', 'Éditeur' ou 'Utilisateur'. Donc héritage d'exclusivité.
    • Un ou plusieurs administrateurs peuvent gérer des boards et ces boards sont gérés par un ou plusieurs administrateurs.
    • Le board se compose d'aucun ou plusieurs formulaires et les formulaires sont dans un seul board.
    • Le formulaire peut ou ne pas être éditer par un ou plusieurs admin ou éditeur. Et un admin ou un éditeur peut ou ne pas éditer un formulaire.
    • Le formulaire peut ou ne pas être exporter par un ou plusieurs admin ou éditeur. Et un admin ou un éditeur peut ou ne pas éditer un formulaire.
    • Le formulaire peut ou ne pas contenir des versions exportables de celui-ci. Et les exports sont contenus par un seul formulaire.
    • L'export peut ou ne pas être visualiser par des personnes et inversement. (Disons qu'il faut un compte dans la table Personnes pour visualiser la version exportable du formulaire).


    Est-ce que le schéma vous parait correct ?
    J'ai quelques doutes sur l'entité "Utilisateurs" qui pour finir n'est rattaché à aucune autre entité. Et par le type d'héritage que j'ai fait, j'hésite entre "l'un ou l'autre => exclusivité" ou "peut être dans plusieurs sous-type => partition (je pense)". Ou alors dois-je jouer avec des contraintes ?

    Merci de vos éclaircissements.

    Bien à vous,
    Pensez à mettre comme si c'est le cas !

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    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 : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Bonsoir Micmaya,


    Quelques observations :


    A propos des exports : Est-il légal d’avoir un formulaire contenant au moins un export (association CONTIENT) sans qu’aucune occurrence de l’association EXPORTER ne fasse mention de ce formulaire ?



    Citation Envoyé par Micmaya Voir le message
    Un ou plusieurs administrateurs peuvent gérer des boards et ces boards sont gérés par un ou plusieurs administrateurs.
    Si l’on s’en tient à votre représentation graphique, cette proposition est à remplacer par la suivante :

    Un ou plusieurs types d’administrateurs peuvent gérer des boards et ces boards sont gérés par un ou plusieurs types d’administrateurs.

    Autrement dit, d’après le MCD, la gestion des boards est manifestement anonyme : peu importe de savoir qui sont les administrateurs qui se sont occupés de tel board en particulier.

    Cette anonymat vaut bien entendu pour l’édition et l’export des formulaires.

    Sommes-nous d’accord ?



    Citation Envoyé par Micmaya Voir le message
    Le formulaire peut ou ne pas être éditer par un ou plusieurs admin ou éditeur.
    Selon votre représentation graphique , cette proposition est à remplacer par la suivante :

    Le formulaire peut ou ne pas être édité par un ou plusieurs admin et éditeurs.

    En effet, les associations EDITER et EXPORTER sont ternaires, ce qui veut dire que (pour prendre le cas de l’édition), pour un formulaire donné f, l’ensemble E des [types d’]éditeurs et l’ensemble A des [types d’]administrateurs parties prenantes dans l’édition de ce formulaire ne sont pas indépendants l’un de l’autre. Qu’en est-il exactement ?

    N.B. Par respect de la grammaire, « être éditer » est à remplacer par « être édité » (même principe pour « être exporter », « être visualiser ».



    Citation Envoyé par Micmaya Voir le message
    J'ai quelques doutes sur l'entité "Utilisateurs" qui pour finir n'est rattaché à aucune autre entité.
    Vous avez utilisé une contrainte d’exclusion entre les sous-types : Une instance de TYPE ne peut donc être à la fois [type d’]administrateur et [type d’]éditeur, [type d’]administrateur et [type d’]utilisateur, [type d’]éditeur et [type d’]utilisateur. Si vous évacuez le sous-type UTILISATEUR, alors une instance de TYPE peut être à la fois [type d’]administrateur et [type d’]utilisateur, ou [type d’]éditeur et [type d’]utilisateur.

    Vous utilisez la notation de WinDesign, selon laquelle « X » symbolise l’exclusion, « T » la totalité et « XT » à la fois l’exclusion et la totalité, c'est-à-dire le partitionnement.



    Citation Envoyé par Micmaya Voir le message
    Ou alors dois-je jouer avec des contraintes ?
    Que voulez dire ? En effet, vous avez déjà mis en œuvre une contrainte d’exclusion.
    (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à pour ça.

  3. #3
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut
    Bonjour,

    Pour l'export, la règle est celle-ci:
    Le formulaire peut ou non généré un export (c-à-d: le formulaire même sous un format exportable) et donc il est possible qu'un formulaire ne génère jamais d'export.
    Et l'entité export ne contient que des lignes font référence à un ou (des) formulaire(s) exporté(s) mais c'est vrai qu'il pourrait y avoir plusieurs exportation du même formulaire et donc ma cardinalité n'est pas bonne, elle devrait être 0,N

    Pour la gestion des boards, j'avais imaginé quelque choses comme ceci:
    Un administrateur crée un "board" dans ce board il peut inviter n'importe qui (de l'entité "Personnes"), si le ou les personnes qu'il a invité sont des personnes du type "administrateur" alors le "board" sera géré par un ou plusieurs administrateur.
    Mais la gestion des boards n'est pas anonyme, j'aimerais quand savoir qui a fait quoi pour une faire des logs.

    Voici mes corrections que j'ai fait au schéma:
    Nom : mcd.PNG
Affichages : 2049
Taille : 21,9 Ko

    J'ai donc modifier l'héritage en "Partition" pour que toutes les occurrences du sur-type se trouvent forcément dans un et seul des sous-types.
    J'ai aussi rajouter 2 contraintes de "Totalité" les mêmes pour "Etre_edite" et "Etre_exporte" et donc cela donne: un formulaire est éditer par un éditeur ou par un administrateur et la même chose pour l'association "Etre_exporte".

    J'avoue que j'ai hésité avec la contrainte de "Partition" mais je pense qu'avec la contrainte de "Totalité", je ne suis pas obligé d'éditer le formulaire par un éditeur ou un administrateur, tandis que la contrainte de "Partition" impose l'un ou l'autre mais de toute façon il faut qu'il y ai une occurrence.

    Et pour terminer, on m'a toujours dit de mettre au maximum toutes les associations à l'infinitif et donc depuis j'ai adopté cette méthode. Mais pour le coup, j'ai fait comme vous m'avez dit.

    Bien à vous,
    Pensez à mettre comme si c'est le cas !

  4. #4
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut
    Autant pour moi, les contraintes de "totalité" que j'ai rajouté ne sont pas correcte dans le schéma de mon précédent message.
    Ce sont des droits que j'essaie d'exprimer et je ne pense pas que je puisse le faire en base de donnée.

    Sinon comment exprimer ceci:
    Le formulaire peut être éditer soit par l'administrateur, soit par l'éditeur. Mais il peut très bien avoir été éditer par les deux.
    Et à la fin, je rajouterai alors dans l'association "etre_edite", la date et alors j'aurai une liste des personnes (en l'occurrence des administrateurs ou éditeurs) qui à une ou plusieurs date on fait des modifications).
    Pensez à mettre comme si c'est le cas !

  5. #5
    Membre actif
    Avatar de Micmaya
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 131
    Points : 202
    Points
    202
    Billets dans le blog
    3
    Par défaut
    J'ai posté sur un autre forum mon soucis (des permissions) et je me suis rendu compte que l'on ne gère pas les permissions avec la base de donnée mais plutôt dans le code.
    Voir forum suivant

    Je mets ce sujet comme résolu puisque mon problème "principal" venait des permissions et que j'ai publié un sujet la dessus sur le forum cité ci-dessus.
    Pensez à mettre comme si c'est le cas !

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

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