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 :

Vérifier un modèle/schéma conceptuel [MCD]


Sujet :

Schéma

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Points : 271
    Points
    271
    Par défaut Vérifier un modèle/schéma conceptuel
    Bonjour,
    tout d'abord si ma question n'est pas pour ce forum je m'en excuse. Merci de me diriger vers le bon.

    Pour vérifier un schéma conceptuel il parait qu'il faut :

    5. Vérifier le schéma obtenu, notamment :

    a) supprimer les transitivités ;

    b) s’assurer que le schéma est connexe ;
    Que comprend-t-on par transitivité et par connexe ?

    Merci pour votre aide.

  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
    D'où vient voter citation ?
    N'y explique t-on pas ce que sont "transitivité" et "connexe" ?

    J'interprète ça d'une certaine manière mais peut-être que c'est totalement faux car sans rapport direct avec le contexte du texte global que vous citez.

    Dans le cadre d'un Schéma conceptuel de données, la transitivité serait une association où les cardinalités sont à 1,1 sur les deux branches :
    A -1,1----associer----1,1- B

    Et à ce propos, j'ai écrit ceci dans mon blog :
    Lorsque les deux couples de cardinalités sont à 1,1, on doit se demander si on peut fusionner les deux entités. Si elles représentent des choses sémantiquement différentes ou si on les conserve pour une raison technique (ajout de table à une BDD existante, amélioration des performances par séparation de données importantes en volume mais rarement lues…), on a le choix de la table qui accueillera la clé étrangère.
    Quant à "connexe", l'auteur indique t-il qu'il ne faut pas d'entité-type isolée, sans association avec au moins une autre entité ?
    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 chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut
    Bonjour Big1,
    Citation Envoyé par big1 Voir le message
    Que comprend-t-on par transitivité [...] ?
    La transitivité est une notion empruntée au modèle relationnel de Codd et adaptée à Merise (mais elle y est tout à fait pertinente).

    Supposons le schéma théorique suivant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [ENTITE_A]--1,1----(x)----0,n->[ENTITE_B]--1,1----(y)----0,n->[ENTITE_C]
        |                                                            |
       1,1                                                          0,n
        |                                                            |
        +-----------------------------(z)----------------------------+
    Une occurrence de ENTITE_A détermine une et une seule occurrence de ENTITE_B. De même, une occurrence de ENTITE_B détermine une et une seule occurrence de ENTITE_C. Par conséquent, une occurrence de ENTITE_A détermine, par transitivité, une et une seule occurrence de ENTITE_C.

    L'association entre ENTITE_A et ENTITE C peut donc être obtenue par transitivité au moyen des associations (qui sont des Contraintes d'Intégrité Fonctionnelle, ou CIF) x et y. La CIF z n'est donc pas une association directe et, à ce titre, doit être éliminée. Pourquoi ? Parce qu'elle est source d'incohérences. En effet, supposons :
    - que l'occurrence a1 de ENTITE_A détermine l'occurrence b1 de ENTITE_B
    - et que l'occurrence b1 de ENTITE_B détermine l'occurrence c1 de ENTITE_C
    rien n'interdit que a1 détermine, via la CIF z, une autre occurrence de ENTITE_C, c2 par exemple, ce qui est totalement incohérent.

    Il ne s'agit donc pas de "supprimer les transitivités", ceci est un abus de langage, mais plutôt d'éliminer les CIF qui ne sont pas directes.
    L'adaptation de cette règle du Modèle Relationnel au MCD Merise est soumise à une contrainte : elle ne peut être vérifiée qu'avec des CIF, c'est-à-dire des associations du type 1,1---x,n (où x vaut 0 ou 1).
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Points : 271
    Points
    271
    Par défaut
    Un grand merci.
    Citation Envoyé par JPhi33 Voir le message
    Bonjour Big1,

    La transitivité est une notion empruntée au modèle relationnel de Codd et adaptée à Merise (mais elle y est tout à fait pertinente).

    Supposons le schéma théorique suivant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [ENTITE_A]--1,1----(x)----0,n->[ENTITE_B]--1,1----(y)----0,n->[ENTITE_C]
        |                                                            |
       1,1                                                          0,n
        |                                                            |
        +-----------------------------(z)----------------------------+
    Une occurrence de ENTITE_A détermine une et une seule occurrence de ENTITE_B. De même, une occurrence de ENTITE_B détermine une et une seule occurrence de ENTITE_C. Par conséquent, une occurrence de ENTITE_A détermine, par transitivité, une et une seule occurrence de ENTITE_C.

    L'association entre ENTITE_A et ENTITE C peut donc être obtenue par transitivité au moyen des associations (qui sont des Contraintes d'Intégrité Fonctionnelle, ou CIF) x et y. La CIF z n'est donc pas une association directe et, à ce titre, doit être éliminée. Pourquoi ? Parce qu'elle est source d'incohérences. En effet, supposons :
    - que l'occurrence a1 de ENTITE_A détermine l'occurrence b1 de ENTITE_B
    - et que l'occurrence b1 de ENTITE_B détermine l'occurrence c1 de ENTITE_C
    rien n'interdit que a1 détermine, via la CIF z, une autre occurrence de ENTITE_C, c2 par exemple, ce qui est totalement incohérent.

    Il ne s'agit donc pas de "supprimer les transitivités", ceci est un abus de langage, mais plutôt d'éliminer les CIF qui ne sont pas directes.
    L'adaptation de cette règle du Modèle Relationnel au MCD Merise est soumise à une contrainte : elle ne peut être vérifiée qu'avec des CIF, c'est-à-dire des associations du type 1,1---x,n (où x vaut 0 ou 1).

  5. #5
    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
    Une occurrence de ENTITE_A détermine une et une seule occurrence de ENTITE_B. De même, une occurrence de ENTITE_B détermine une et une seule occurrence de ENTITE_C.
    Je suis gêné par l'emploi du verbe "déterminer" ici !

    "A détermine B", pour moi, signifie que B n'existe pas sans A et que si je supprime A, je supprime automatiquement B, alors que c'est le contraire vu qu'ici c'est A qui reçoit la clé étrangère référençant B donc c'est A qui dépend de B, A qui est déterminé par B, en quelque sorte.

    C'est peut-être pour ça que je n'ai jamais compris l'algèbre relationnelle, remarque !

    Je préférerais la formulation suivante :
    "Une occurrence de ENTITE_A est associée à une et une seule occurrence de ENTITE_B. De même, une occurrence de ENTITE_B est associée à une et une seule occurrence de ENTITE_C."
    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 !

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 768
    Points : 52 719
    Points
    52 719
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Je suis gêné par l'emploi du verbe "déterminer" ici !

    "A détermine B", pour moi, signifie que B n'existe pas sans A et que si je supprime A, je supprime automatiquement B, alors que c'est le contraire vu qu'ici c'est A qui reçoit la clé étrangère référençant B donc c'est A qui dépend de B, A qui est déterminé par B, en quelque sorte.

    C'est peut-être pour ça que je n'ai jamais compris l'algèbre relationnelle, remarque !

    Je préférerais la formulation suivante :
    "Une occurrence de ENTITE_A est associée à une et une seule occurrence de ENTITE_B. De même, une occurrence de ENTITE_B est associée à une et une seule occurrence de ENTITE_C."
    Oui, mais associé indique une notion de bivalence (réciprocité), alors que déterminé indique une seule voie.....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  7. #7
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut
    Bonjour Philippe,

    Citation Envoyé par CinePhil Voir le message
    Je suis gêné par l'emploi du verbe "déterminer" ici !

    "A détermine B", pour moi, signifie que B n'existe pas sans A et que si je supprime A, je supprime automatiquement B
    J'ai volontairement utilisé le verbe déterminer dans un souci d'analogie avec le modèle relationnel pour les raisons que j'ai expliquées.
    Dans une dépendance fonctionnelle a -> b, on appelle l'ensemble d'attributs a le déterminant et l'ensemble d'attributs b le dépendant. Et on dit que a détermine b et que b dépend de a.

    De plus, j'ai bien pris soin de dire que
    Citation Envoyé par JPhi33
    Une occurrence de ENTITE_A détermine une et une seule occurrence de ENTITE_B.
    et non que ENTITE_A détermine ENTITE_B.
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

  8. #8
    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
    Dans une dépendance fonctionnelle a -> b, on appelle l'ensemble d'attributs a le déterminant et l'ensemble d'attributs b le dépendant. Et on dit que a détermine b et que b dépend de a.
    Justement, pour moi, sémantiquement, c'est un contresens !
    Si A -> B veut dire "A détermine B" et si cette "détermination" se traduit par le MCD A -1,1----associer----0,n- B alors je trouve ça totalement contre intuitif !
    Avec ce MCD, c'est bien A qui ne peut vivre sans B, donc qui dépend de B, puisque c'est lui qui recevra la clé étrangère référençant B.
    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 !

  9. #9
    Membre chevronné
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2007
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Août 2007
    Messages : 797
    Points : 2 060
    Points
    2 060
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Justement, pour moi, sémantiquement, c'est un contresens !
    Dans ce cas, je te conseille de (re)lire l'article de fsmrel "Bases de données relationnelles et normalisation : de la première à la sixième forme normale" et notamment le paragraphe 3.2.2. Dépendance fonctionnelle (DF)
    N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
    _______________________________________________________

    Les Règles du Club Developpez.com
    Vous avez votre réponse ? Merci de cliquer sur

  10. #10
    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
    Je crois que je resterai fâché avec l'algèbre relationnelle. Désolé François !
    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 !

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

Discussions similaires

  1. schéma conceptuel de données
    Par Nayra dans le forum Débuter
    Réponses: 2
    Dernier message: 23/10/2010, 20h52
  2. Vérifier son modèle de données
    Par arthuro45 dans le forum Outils
    Réponses: 1
    Dernier message: 16/08/2009, 21h53
  3. problème schéma conceptuel d'un arbre
    Par comrad85 dans le forum Schéma
    Réponses: 3
    Dernier message: 02/11/2008, 20h12
  4. schéma conceptuel de BDD
    Par Melaba dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/09/2008, 16h09
  5. Réponses: 5
    Dernier message: 24/07/2007, 14h16

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