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 :

Contraintes ensemblistes sur rôles ou associations ?


Sujet :

Merise

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Contraintes ensemblistes sur rôles ou associations ?
    Bonjour à tous.

    J'ai un examen d'analyse, utilisant la méthode merise, à présenter dans un peu plus d'une semaine. J'ai revu mon cours mais une notion ne m'apparaît pas très clairement.

    Je ne comprends pas la différence entre placer une contrainte ensembliste (inclusion, exclusion, égalité, etc...) sur un rôle, ou sur une association.

    Par exemple, quelle est la différence entre ceci :
    Nom : merise-images-cttotrol.gif
Affichages : 2050
Taille : 3,6 Ko

    Et ceci :
    Nom : merise-images-ctexrel.gif
Affichages : 1918
Taille : 3,7 Ko

    Imaginons que ce soit pour les deux cas une contrainte d'inclusion.

    Dans mon cours, il est écrit que l'identifiant d'une association est la concaténation des identifiants des entités qui participent à cette relation. Et apparemment, d'après ce que je comprends, Les contraintes sur les associations utilisent ces identifiants, alors que les contraintes sur les rôles utilisent l'identifiant d'une seule des entité. Mais je peux me tromper.

    Merci beaucoup pour vos éclaircissements.

    Quentin

  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
    Bonjour Quentin,


    Citation Envoyé par Draquent22
    Imaginons que ce soit pour les deux cas une contrainte d'inclusion.
    Les auteurs n’ont pas tous la même façon de représenter les contraintes. Néanmoins, la recommandation est de se conformer au document de référence suivant :

    Afcet - Le formalisme de données Merise - Extensions du pouvoir d’expression - Journée d’étude organisée par le Groupe de Travail 135 « Conception des systèmes d’information » (Collège AFCET-GID) - Jeudi 15 novembre 1990, Paris.

    Il y est écrit :



    Exclusion :


    Ainsi, les contraintes sont-elles explicitement symbolisées par des liens entre associations plutôt qu’entre pattes. A noter le rôle joué par les pivots, permettant de préciser exactement les entités-types parties prenantes dans les contraintes. C’est ce concept de pivot qui fait défaut dans l'ouvrage de Michel Diviné : Parlez-vous Merise ?, gratuit et téléchargeable (Merci Michel !)

    Reportez-vous à la FAQ Merise, dans laquelle Dominique Nanci donne un bon exemple.

    A signaler que dans la série des AGL gratuits, DB-MAIN (du professeur Jean-Luc Hainaut) permet de modéliser l’inclusion sans problème, comme on le voit dans le document du Pr Hainaut Computer-Aided Database Engineering - Volume 1: Database Models :



    Au sujet de l’identification des associations

    Citation Envoyé par Draquent2
    Dans mon cours, il est écrit que l'identifiant d'une association est la concaténation des identifiants des entités qui participent à cette relation.
    Sur la base de cette définition, un identifiant d’association a-t-il vraiment un sens, disons d’un point de vue ontologique ? Pour ne pas faire de peine aux merisiens, disons que si identification d’association il y a, elle est implicite. Cette identification aurait un sens si elle était pouvait être explicite : (1) toutes les entités-types pouvant ne pas y participer, (2) les attributs portés par l’association pouvant y participer : voyez le paragraphe 5.11 « Relationship types with identifier(s) » de l’ouvrage du Pr Hainaut, mentionné ci-dessus, beaucoup plus rigoureux et pertinent quant à l’identification des associations (à partir duquel on peut conclure, incidemment et sans état d’âme, que l’on n’a rien à f... de l’entité-type DATE qui est une conséquence de la définition courante de l’association et nous empoisonne la vie quand nous produisons des MCD, tandis qu’elle ne fera pas l’objet de table au stade du MLD).


    Cette définition courante et propagée depuis l’origine (Ministère de l'Industrie - Mission à l'informatique - Centre technique informatique - Méthode de définition d'un système d'informations - Fascicule 4, guide pratique pour l'élaboration des modèles de données et de traitements - juin 1979, page 9) est sujette à contre-exemples. Considérons le schéma suivant :



    Où les entités-types E et F ont respectivement {E1} et {F1} pour identifiants (les accolades sont là pour rappeler qu’il s’agit d’ensembles au sens de la théorie des ensembles).

    A supposer que le terme « concaténation » soit synonyme de liste ou plutôt d’ensemble (dans son ouvrage Ingénierie des systèmes d'information : Merise Deuxième Génération, Dominique Nanci utilise le terme « conjonction »), l’identifiant de R est-il la paire {E1, F1} ? Certainement pas ! E1 doit dégager puisqu’il existe la dépendance fonctionnelle {F1} -> {E1}.


    Autre exemple au sujet de la concaténation :

    Dans l’exemple suivant, que concatène-t-on pour l’association R ? E1 avec E1 ? Au moins avec le terme « conjonction » utilisé par D. Nanci, et pris au sens de la logique ou de l’algèbre de Boole, est-on plus proche de la vérité, puisque l’identifiant de R se réduira à {E1} :



    Mais si on remplace la cardinalité 0,1 par 0,N, c’est le terme « concaténation » qui devient pertinent... Au moins l’identification vue par le Pr Hainaut permet-elle d’éviter les écueils.


    Et apparemment, d'après ce que je comprends, les contraintes sur les associations utilisent ces identifiants, alors que les contraintes sur les rôles utilisent l'identifiant d'une seule de l’entité. Mais je peux me tromper.
    D’après les définitions données par Groupe de Travail 135, les identifiants ne jouent pas de rôle explicite. Même chose dans l’exemple du Pr Hainaut, où il est seulement dit que l’ensemble incl{SUPPLIER, ITEM} est inclus dans l’ensemble gr{SUPPLIER, ITEM}, indépendamment des « identifiants implicites » des associations.
    (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.

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/04/2010, 10h13
  2. Réponses: 2
    Dernier message: 22/01/2007, 20h06
  3. [Oracle 9i] contrainte CHECK sur le type date
    Par zchallal dans le forum Langage SQL
    Réponses: 2
    Dernier message: 20/06/2006, 11h34
  4. Réponses: 2
    Dernier message: 17/02/2006, 11h20
  5. [SYBASE ASE] Rajouter une contrainte null sur une colonne
    Par Little_Goldo dans le forum Sybase
    Réponses: 1
    Dernier message: 09/02/2005, 10h48

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