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 :

Quelle est la différence entre MCD et MLD


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Points : 9
    Points
    9
    Par défaut Quelle est la différence entre MCD et MLD
    C'est quoi la difference entre un MPD et un MLD ??

  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 002
    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 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    C'est quoi la difference entre un MPD et un MLD ??
    Le MCD (Modèle Conceptuel des Données) est utilisé par les concepteurs et les analystes pour décrire sous forme d'un schéma les données relatives au sujet à traiter (en gros les entités, leurs attributs et les relations qu'elles entretiennent). Le MCD ne tient pas compte du SGBD et du langage de programmation à suivre. Le formalisme utilisé pour le MCD est convenu à l’avance. En France, on utilise essentiellement celui qui a été défini pour Merise fin des années soixante-dix, augmenté de fonctionnalités supplémentaires dans les années quatre-vingt (par exemple l’héritage). Il suffit de connaître la norme pour lire sans ambiguïté un MCD.

    L’étape MLD (Modèle Logique de Données) se situe chronologiquement juste après l’étape MCD et revient à présenter les objets du MCD sous une forme compréhensible par un SGBD. Pour faire court, dans un contexte SGBD relationnel, les objets représentés sont désormais des tables (disons SQL) et les liens qui les unissent.

    Les outils du marché (par exemple PowerAMC) produisent à partir d’un MCD un MLD pollué par des objets relevant de la quincaillerie. En effet, les tables sont des être de nature mathématique, manipulées à l’aide le d’algèbre relationnelle. La quincaillerie relève plutôt de ce qu’on appelle le MPD (Modèle Physique de Données) dépendant cette fois-ci totalement du SGBD : il d’agit pour l’essentiel des index et autres espaces physiques (table spaces, conteneurs et fichiers divers) spécifiques des SGBD.

    Les outils de modélisation font passer directement du MCD au MPD, lequel absorbe complètement le MLD. Il s’agit en fait de gagner une étape (Time is money).

    Pour voir ce que cela donne graphiquement, voyez
    http://www.developpez.net/forums/sho...d.php?t=348474

    Pour apprendre, lisez le document fourni par Cyril Gruau sur ce site :
    ftp://ftp-developpez.com/cyril-gruau/ConceptionBD.pdf
    (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
    Futur Membre du Club
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    est ce que le MLD relationnelle ==> MLDR

    et un MLDR est sous la forme de:

    employe(idenmploye,nom, prenom,#idresponsable)

    grande difference entre MLD et MLD relationnelle(MLDR), c'est cela???

  4. #4
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 002
    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 002
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    Hum... Je sens que des explications et mises au point sont nécessaires.
    Je parlerai d’abord du Modèle Relationnel de Données qui est né près de dix ans avant Merise.

    Le Modèle Relationnel de Données

    Le Modèle Relationnel de Données (en abrégé : Modèle relationnel) est une théorie : la Théorie relationnelle, née en 1969 et dont le papa s’appelait Ted Codd. La description complète de cette théorie nécessite quelques centaines de pages. Je cite Codd (brièvement) :

    Le Modèle Relationnel se compose d’une machine abstraite et d’une théorie dont le but est de pouvoir prendre en compte tous les problèmes– et ceux-là seulement– rencontrés dans la gestion des bases de données informatisées, et de l’interaction avec ces bases de données... Le modèle est basé sur deux pierres d’angle mathématiques : la théorie des relations de degré quelconque, et la logique multivaluée des prédicats du premier ordre. L’un de mes objectifs premiers en développant ce modèle était de fournir aux utilisateurs de SGBD un outil qui faciliterait énormément la compréhension des informations dans une base de données et l’utilisation productive de ces informations. Les opérateurs de recherche et de manipulation utilisent des relations comme opérandes et produisent des relations comme résultats. Ainsi, ces résultats peuvent toujours être utilisés comme opérandes si une étude plus poussée s’avère nécessaire.

    (ce que Codd appelle une relation est à prendre au sens mathématique du terme : informellement, on parle plutôt de table).

    On retiendra encore que le Modèle Relationnel de Données peut être informellement abordé selon 3 aspects :


    Aspect structurel : les données de la base de données sont perçues par l’utilisateur comme des tables et seulement des tables.

    Exemple des courses hippiques : La base de données est composée de tables dont voici la structure :

    Table des chevaux :
    Cheval (ChevalId, ChevalNom, DateNaissance)

    qui se lit : Le cheval ChevalId a pour nom ChevalNom et est né le DateNaissance

    Table des jockeys :
    Jockey (JockeyId, JockeyNom)

    qui se lit : Le jockey JockeyId a pour nom JockeyNom

    Table des courses :
    Course (CourseId, CourseDate, CourseNom)

    qui se lit : La course CourseId a pour nom CourseNom et a eu lieu le CourseDate

    Table des participations des chevaux et des jockeys aux courses :
    Participation (ChevalId, CourseId, Numero, JockeyId, Poids, CordeNo)

    qui se lit : Le cheval ChevalId participa à la course CourseId avec le numéro Numero, monté par JockeyId, portant Poids et en position CordeNo par rapport à la corde.


    Aspect intégrité : Deux chevaux doivent être distincts dans la base de données (intégrité d’entité) : l’attribut ChevalId servira à se prémunir contre les doublons (disons que le premier cheval inscrit dans la base de données aura 1 pour valeur de ChevalId, le deuxième aura 2 pour valeur de ChevalId, etc.) Même principe pour les jockeys et les courses.

    Un cheval qui figure dans la table Participation doit préalablement figurer dans la table Cheval, c’est-à-dire que chaque valeur prise par l’attribut ChevalId de la table Participation doit être d’abord une valeur de l’attribut ChevalId de la table Cheval : l’attribut ChevalId de la table Participation fait référence à l’attribut ChevalId de la table Cheval. Il s’agit de ce que l’on appelle l’intégrité référentielle.


    Aspect manipulation : il s’agit des opérateurs qui permettent de filtrer certaines lignes d’une table (Restrict), certaines colonnes (Project), de marier les tables entre elles (Join), etc.


    Il y a modèle et modèle...

    Le modèle relationnel de Codd est donc une théorie. On peut en dire autant de la méthode Merise qui, pour ce qui concerne la partie traitant des données, est une variante du modèle entité/relation formalisé par Peter Chen en 1976. Même chose pour le modèle réseau (network model) et quelques autres. A l’exception du modèle relationnel, ces modèles ont en commun de permettre de représenter les données de manière graphique, selon un formalisme imposé, avec des règles très précises (diagramme entité/relation, diagramme de Bachman, etc.)

    Je reprends ce que j’ai écrit par ailleurs :

    Chronologiquement, quand on élabore une base de données, on produit d’abord un Modèle Conceptuel de Données (voyez mon message précédent), un MCD. Par rapport à ce qui précède, il y a une ambiguïté à propos du terme "modèle" :

    Un modèle se situe à un niveau théorique. Or un MCD est essentiellement une représentation graphique d’une construction particulière (par exemple, les courses de chevaux), c'est-à-dire que l’on est sur un plan complètement différent, où l’on applique les règles de représentation des données telles qu’elles ont été définies au niveau de la théorie.

    Voici un exemple de MCD pour les courses de chevaux :




    Modèle Conceptuel de Données (MCD) - Notation Merise


    (Vous observerez au passage que certains attributs sont soulignés : ce sont les identifiants des entités-types.)

    Une fois que le MCD est agréé, validé, on produit lors de l’étape suivante un MLD (Modèle Logique de Données) ce qui revient encore à produire une représentation graphique, suivant certaines règles de transformation des objets conceptuels (entités-types, attributs, associations) en objets logiques. Avant l’arrivée des SGBD relationnels (SQL), on utilisait (entre autres) le modèle réseau cité plus haut : les entités-types devenaient des records, les propriétés des champs et les associations des sets. Je n’en dirais pas plus parce qu’il s’agit du passé, mais certains outils (PowerAMC par exemple) permettent encore d’opter pour une représentation (graphique) en réseau.

    Voici un exemple de représentation graphique pour le MLD des courses de chevaux :




    Modèle Logique de Données (MLD) - Notation réseau (diagrammes de Bachman)


    Voici un autre exemple de représentation graphique pour le MLD des courses de chevaux, avec utilisation de la notation dite "relationnelle" (mais qui n’a aucun caractère officiel) :




    Modèle Logique de Données (MLD) - Notation "relationnelle"


    Je rappelle que la théorie relationnelle ne propose aucun formalisme de représentation graphique. C’est peut-être par référence au modèle réseau que l’on a des arcs orientés. Vous noterez que l’orientation est l’inverse de celle qui figure dans le MLD en notation réseau.
    En plus les données sont typées (int, varchar(48), etc.) A l’instar des identifiants, les clés primaires (primary keys) sont soulignées (et accompagnées du symbole <pk>). Les attributs participant au contraintes d’’intégrité référentielle sont symbolisés par <fk> (ces attributs participent à ce que l’on appelle des clés étrangères (foreign keys)). Les clés alternatives (non primaires mais candidates à l’être) sont symbolisées par <ak> (alternative keys). Une clé peut en même temps être primaire et étrangère. Une clé peut en même temps être alternative et étrangère.

    Alors qu’ils devraient se limiter à traiter du MLD, par abus de langage, certains parlent de MLDR parce qu’ils utilisent pour leur MLD une notation prétendue "relationnelle" : ça n’est que du jargon, une coutume locale. Maintenant, si vous voulez utiliser ce terme "MLDR", personne ne vous en empêche, mais ne confondez pas diagramme et théorie (en l’occurrence le Modèle Relationnel de Données).


    Pour ma part, puisque cela laisse la théorie relationnelle indifférente, j’utilise une autre notation pour mes MLD, car plus expressive en termes de cardinalités, à savoir une notation conceptuelle. Je vois plus vite qu’une course (par exemple le Grand Prix d’Amérique) a pu faire l’objet de plusieurs participations, qu’un cheval a pu participer à plusieurs courses, même chose pour un jockey. Pour mémoire, l’outil (gratuit) Toad Data Modeler propose le même type de représentation graphique.






    Citation Envoyé par progfann
    un MLDR est sous la forme de:
    employe ([u]idenmploye[u], nom, prenom, #idresponsable)
    On retrouve le même symbolisme que j’ai utilisé pour les tables des courses, des chevaux, des jockeys et des participations. Autrement dit, vous fournissez ici le schéma de la table employe. Il s’agit là encore d’un usage graphique qui laisse parfaitement indifférente la théorie relationnelle. Ça n’est qu’un mickey permettant de nommer les attributs composant cette table et qui se lit ainsi :

    L’employé identifié par idenmploye a pour nom nom, est prénommé prenom et a pour chef #idresponsable.

    En aucun cas il ne peut s’agir de ce que d’aucuns ont appelé MLDR.

    Je suppose que le symbole dièse (#) est synonyme de clé étrangère.
    (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.

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 1
    Points : 4
    Points
    4
    Par défaut Félicitations !!!
    Explication bien limpide, sans entorse aux règles.

    Merci

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


    Je vous suis reconnaissant pour votre appréciation.

    Mais, qu'entendez-vous par "entorse aux règles" ?


    Bienvenue chez DVP,

    fsmrel
    (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.

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 3
    Points : 6
    Points
    6
    Par défaut la diference entre MCD et MLD
    merci pour tout le monde

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

    Si des réponses ont pu vous être utiles, alors identifiez-les en votant pour elles ! Ça nous permet ainsi de voir quelles réponses n'ont pas été assez bien formulées et laissent donc planer des doutes...

    Bonne route !
    (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.

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 01/06/2010, 16h57
  2. Réponses: 2
    Dernier message: 25/05/2005, 21h34
  3. Réponses: 5
    Dernier message: 03/05/2005, 18h22
  4. Réponses: 11
    Dernier message: 31/01/2005, 17h48
  5. Quelle est la différence entre le float et le real ?
    Par Manson dans le forum Débuter
    Réponses: 3
    Dernier message: 10/08/2004, 17h26

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